Untitled
unknown
plain_text
2 years ago
1.4 kB
16
Indexable
#include <iostream>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
int T;
cin >> T;
for (int test_case = 1; test_case <= T; test_case++) {
int size;
cin >> size;
int arr[101][101];
for (int i = 0; i < size; i++){
for (int j = 0; j < size; j++){
cin >> arr[i][j];
}
}
int tx[4] = {0, 1, 0, -1};
int ty[4] = {1, 0, -1, 0};
int count = 0;
int x = 0;
int y = 0;
int mode = 0;
while(x >= 0 && y >= 0 && x <size && y<size){
if(arr[x][y] == 2 && mode == 0){
count++;
mode = 1;
}
else if(arr[x][y] == 2 && mode == 1){
count++;
mode = 0;
}
else if(arr[x][y] == 2 && mode == 2){
count++;
mode = 3;
}
else if(arr[x][y] == 2 && mode == 3){
count++;
mode = 2;
}
else if(arr[x][y] == 1 && mode == 0){
count++;
mode = 3;
}
else if(arr[x][y] == 1 && mode == 1){
count++;
mode = 2;
}
else if(arr[x][y] == 1 && mode == 2){
count++;
mode = 1;
}
else if(arr[x][y] == 1 && mode == 3){
count++;
mode = 0;
}
arr[x][y] = 3;
x = x + tx[mode];
y = y + ty[mode];
}
/*
for (int i = 0; i < size; i++){
for (int j = 0; j < size; j++){
cout << arr[i][j] << " ";
}
cout << endl;
}
*/
cout << "#" << test_case << " " << count << endl;
}
return 0;
}Editor is loading...