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;
}










