Random ... Scheduled .
~cpp //RandomWalk2 //Random Walk #include<iostream.h> int main() { //변==================================== char way[20];//동는 방(8방: 0~7) int input_y, input_x;// int start_y, start_x;// int journey=0; int y, x;// int i, j;//for문 돌리는 데 변 int count=0;// int first_go=0; for(i=0;i<20;i++) way[i]='\0'; //x, y 를 받 배, === cout<<"\n x 를 : "; cin>>input_x; cout<<"\n y 를 : "; cin>>input_y; int **base=new int *[input_y]; for(i=0;i<input_x;i++) base[i]=new int [input_x]; for(i=0;i<input_y;i++){ for(j=0;j<input_x;j++) base[i][j]=0;} // , 대=========================== cout<<"\n x를 : "; cin>>start_x; cout<<"\n y를 : "; cin>>start_y; y=start_y; x=start_x; base[y][x]=1;// 미 번 므 1 first_go++; //방 =================================== cout<<" 방 : "; cin>>way; do{ //방 리=================================== switch(way[journey]){ case '0'://북 if(y==0) y=input_y-1; else y--; if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '1'://북동 if(y==0) y=input_y-1; else if(x==input_x-1) x=0; else if(y==0 && x==input_x-1){ x=0; y=input_y-1;} else{ y--; x++;} if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '2'://동 if(x==input_x-1) x=0; else x++; if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '3'://남동 if(y==input_y-1) y=0; else if(x==input_x-1) x=0; else if(y==input_y-1 && x==input_x-1){ y=0; x=0;} else{ y++; x++;} if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '4'://남 if(y==input_y-1) y=0; else y++; if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '5'://남 if(y==input_y-1) y=0; else if(x==0) x=input_x-1; else if(y==input_y-1 && x==0){ y=0; x=input_x-1;} else{ y++; x--;} if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '6':// if(x==0) x=input_x-1; else x--; if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; case '7'://북 if(y==0) y=input_y-1; else if(x==0) x=input_x-1; else if(y==0 && x==0){ y=input_y-1; x=input_x-1;} else{ y--; x--; } if(base[y][x]==0) first_go++; base[y][x]++; count++; journey++; break; default: break; } }while(way[journey]!='\0'); cout<<"\n 동 는 "<<count<<"\n"; for(i=0;i<input_y;i++){ for(j=0;j<input_x;j++) cout<<base[i][j]<<" "; cout<<"\n";} //동 for(i=0;i<input_x;i++) delete[] base[i]; delete [] base; return 0; }