Acwing第 13 场周赛【未完结】
生活随笔
收集整理的這篇文章主要介紹了
Acwing第 13 场周赛【未完结】
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 3811. 排列 【難度: 簡(jiǎn)單 / 知識(shí)點(diǎn): 思維】
- 3812. 機(jī)器人走迷宮【難度: 中 / 知識(shí)點(diǎn): 枚舉 模擬】
3811. 排列 【難度: 簡(jiǎn)單 / 知識(shí)點(diǎn): 思維】
只要往后移一位既可
3812. 機(jī)器人走迷宮【難度: 中 / 知識(shí)點(diǎn): 枚舉 模擬】
#include<bits/stdc++.h> using namespace std; const int N=510; char a[N][N]; int n,m,t; int startx,starty,endx,endy; string s; int b[4]={0,1,2,3}; bool flag; void dfs(int x,int y) {int w=0;for(int index=0;index<s.size();index++){if(s[index]-'0'==b[0]){int tempx=x-1;int tempy=y;if(tempx>=0&&tempx<n&&tempy>=0&&tempy<m&&a[tempx][tempy]!='#') x=tempx,y=tempy;else w=1;}if(s[index]-'0'==b[1]){int tempx=x;int tempy=y+1;if(tempx>=0&&tempx<n&&tempy>=0&&tempy<m&&a[tempx][tempy]!='#')x=tempx,y=tempy;else w=1;}if(s[index]-'0'==b[2]){int tempx=x+1;int tempy=y;if(tempx>=0&&tempx<n&&tempy>=0&&tempy<m&&a[tempx][tempy]!='#')x=tempx,y=tempy;else w=1;}if(s[index]-'0'==b[3]){int tempx=x;int tempy=y-1;if(tempx>=0&&tempx<n&&tempy>=0&&tempy<m&&a[tempx][tempy]!='#')x=tempx,y=tempy;else w=1;}if(w) return;if(x==endx&&y==endy){flag=true;return ;}}} int main(void) {cin>>t;while(t--){cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];if(a[i][j]=='S') startx=i,starty=j;if(a[i][j]=='E') endx=i,endy=j;}}cin>>s;for(int i=0;i<4;i++) b[i]=i;int cnt=0;do{flag=false;dfs(startx,starty);if(flag) cnt++;}while(next_permutation(b,b+4));cout<<cnt<<endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的Acwing第 13 场周赛【未完结】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Acwing第 12 场周赛【未完结】
- 下一篇: 2021暑假每日一题 【week1 完结