P1859 不聽話的機械人

2022-06-16 16:27:12 字數 778 閱讀 6851

機械人收到n條指令,但它不想走到障礙物上或走出邊界,所以決定拒絕一些指令。求最少拒絕多少條指令?

forward前進1

back後退1

left左轉90度

right右轉90度

輸入格式:

第一行m|100、n|1000、x0、y0,m*m場地,n條指令起點(x0,y0) 接下來乙個m*m矩陣,表示場地。.為場地,*為障礙物

接下來n行,表示n條命令

輸出格式:

乙個數,表示最少拒絕多少條命令

#includeusing

namespace

std;

intn,m,xx,yy;

int dp[102][102][4][501

];int dx[4]=;

int dy[4]=;

string

s;char mp[120][120

];int

main()

if(tk=='r'

)

if(tk=='f'

)

if(tk=='b'

)

}int ans=0x3f3f3f3f

;

for(int x=1;x<=m;x++)

for(int y=1;y<=m;y++)

for(int l=0;l<=3;l++)

ans=min(ans,dp[x][y][l][n]);

cout

<}