~cpp #include <iostream> #include <fstream> using namespace std; int main(){ ifstream fin("input.txt"); ofstream fout("output.txt"); int length; int walk[100][100]; int i, j; int x , y; char direct; int temp; fin >> length; for (i = 0; i < length; i++){ for (j = 0; j < length; j++){ walk[i][j] = 0; } // 초기화 } fin >> x; fin >> y; walk[x][y] = 0; while (!fin.eof()){ int directer = direct - 48; if (direct == ' ' || direct =='\n') { direct = fin.get(); continue; } if (direct == '9') break; switch (directer){ case 1 : x += 1; y -= 1; break; case 2 : x +=1; break; case 3 : x += 1; y += 1; break; case 4 : y += 1; break; case 5 : x -= 1; y += 1; break; case 6 : x -= 1; break; case 7 : x -= 1; y -= 1; break; case 0 : y -= 1; break; } if (x < 0) x += length; if (x == length) x -= length; if (y < 0) y += length; if (y == length) y -= length; walk[y][x]++; direct = fin.get(); } cout << endl; for (i = 0; i < length; i++){ for (j = 0; j < length; j++){ cout << walk[i][j] << " "; } cout << endl; } return 0; }