Untitled
plain_text
2 months ago
1.4 kB
8
Indexable
Never
#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; }