Untitled
plain_text
2 months ago
969 B
2
Indexable
Never
#include <iostream> using namespace std; int qe[2000000]; int dx[] = {-2,-2,-1-1,1,1,2,2}; int dy[] = {-1,1,-2,2,-2,2,-1,1}; int A[1000][1000]= {0}; int head; int tail; void enq(int x){ tail++; qe[tail] = x; } int deq(){ head++; int x = qe[head]; return x; } int main(){ freopen("input.txt","r",stdin); int T,x; cin>>T; for (x = 0; x < T; x++){ int N,M; cin>>N>>M; int R,C,S,K; cin>>R>>C>>S>>K; R--;C--;S--;K--; head = -1; tail = -1; enq(R); enq(C); A[R][C] = 1; while (tail - head >=2){ int row = deq(); int col = deq(); for (int k = 0; k < 8; k++){ int x1 = row + dx[k]; int y1 = col + dy[k]; if (x1>=0 && y1>=0 && x1<N && y1<M && A[x1][y1] == 0){ enq(x1); enq(y1); A[x1][y1] = A[row][col] + 1; } } } cout <<"Case #"<<x+1<<endl<<A[S][K]<<endl; for (int i = 0; i < N; i++) for (int j = 0; j < M ; j++) A[i][j] = 0; } return 0; }