Untitled

mail@pastecode.io avatarunknown
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;
}