LƯỚI (MS0002)CHO MỘT LƯỚI Ô VUÔNG GỒM M DÒNG N CỘT. TRONG MỖI Ô CỦA LƯ...

Bài 2: Lưới (MS0002)Cho một lưới ô vuông gồm M dòng N cột. Trong mỗi ô của lưới chỉ chứa số 0 hoặc 1, mỗi ô vuông ở dòng x cột y kí hiệu là (x,y). Từ một ô vuông có thể di chuyển sang ô vuông chung cạnh. Một vùng là tập hợp các ô vuông kề cạnh với nhau và có giá trị bằng nhau. Các ô kề cạnh với vùng và có giá trị khác nhau với giá trị các ô trong vùng thì không thuộc vùng. Cho trước hia ô vuông (x1,y1) và (x2,y2). Hãy cho biết hai ô vuông đã cho có cùng thuộc 1 vùng hay không, trong trường hợp hai ô vuông này không cùng thuộc một vùng hãy kiểm tra xem di chuyển từ ô (x1,y1) sang ô (x2,y2) có phải đi qua đúng một vùng trung gianhay không (Nếu đi qua đúng một vùng trung gian thì gọi là hai ô cách một vùng)Ví dụ: Hình bên dưới là ô vuông 4x6, hai ô (3,4) và (1,2) là thuộc một vùng, hai ô (2,3) và (1,6) cách một vùng1 1 0 0 1 10 1 1 0 0 10 0 1 1 0 01 1 0 0 0 0Dữ liệu vào: Cho trong file văn bản LUOI.INPDòng đầu tiên ghi các số M, N, x1, y1, x2, y2 (1≤ x1, x2 ≤M≤100; 1≤y1, y2,≤N≤100)Trong M dòng tiếp theo, mỗi dòng ghi N số 0 hoặc 1 tương ứng với giá trị của các ô lướiCác số cách nhau ít nhất một khoảng trắngDữ liệu ra: Ghi ra file văn bản LUOI.OUT gồm 1 số nguyên:Nếu hai ô (x1,y1) và (x2,y2) cùng thuộc một vùng thì ghi số 1Nếu hai ô (x1,y1) và (x2,y2) cách một vùng thì ghi số 2Các trường hợp khác ghi số 3Ví dụ: LUOI.INP LUOI.OUT4 6 2 3 1 62