~cpp #include <iostream> using namespace std; const int MAX = 20; int main() { int board[MAX][MAX]={0,}; int x, y ; int garo, sero; char direction[MAX]; int total=0; int count =0 ; int bang =0; cout << "판의 크기를 입력하세요(행, 열) : " ; cin >> sero >> garo ; cout << "처음 시작 위치를 입력하세요(행, 열) : " ; cin >> y >> x ; cout << "방향을 입력하세요(0은 북쪽방향, 시계 방향으로 1~7, 끝내기 999) : " ; for(int D=0;D<MAX;D++) { cin >> direction[D]; count++; if(direction[D-2]=='9' && direction[D-1]=='9' && direction[D]=='9') { count-=3 ; break; } } board[x][y]=1; for(bang = 0 ; bang<count ; bang++) { switch(direction[bang]) { case '0' : y--; break; case '1' : x++; y--; break; case '2' : x++; break; case '3' : x++; y++; break; case '4' : y++; break; case '5' : x--; y++; break; case '6' : x--; break; case '7' : x--; y--; break; } if(x<0) x=garo-1; else if(x==garo) x=0; if(y<0) y=sero-1; else if(y==sero) y=0; board[x][y]++; total++; } for(int i=0;i<sero;i++) { for(int j=0;j<garo;j++) cout << board[j][i] << "\t" ; cout << endl ; } cout << "총 이동 횟수는 " << total << "입니다. " << endl ; return 0; }