I - A计划 HDU - 2102
程序员文章站
2022-05-06 20:09:21
HDU - 2102思路:水题一个,暴力BFS就能过,注意判断魔法阵对面是否还是传送阵代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include#define int long long#define pb push_back#define pf push_frontusing namesp...
思路:
水题一个,暴力BFS就能过,注意判断魔法阵对面是否还是传送阵
代码附:
#pragma GCC optimize("Ofast","inline","-ffast-math")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<bits/stdc++.h>
#define int long long
#define pb push_back
#define pf push_front
using namespace std;
const int N = 2e5+10;
int n,m,t;
char mp[2][11][11];
int vis[2][11][11];
int X[4]= {1,-1,0,0};
int Y[4]= {0,0,1,-1};
struct node
{
int x,y,z,step;
};
bool check(node k)
{
if(k.x<0||k.x==n||k.y<0||k.y==m||k.step>t||vis[k.z][k.x][k.y]&&vis[k.z][k.x][k.y]<k.step||mp[k.z][k.x][k.y]=='*'||mp[k.z][k.x][k.y]=='#'&&(mp[k.z^1][k.x][k.y]=='#'||mp[k.z^1][k.x][k.y]=='*'))
return true;
return false;
}
bool bfs()
{
node k;
k.x=0,k.y=0,k.z=0,k.step=0;
queue<node>qq;
qq.push(k);
while(qq.size())
{
k=qq.front();
qq.pop();
if(mp[k.z][k.x][k.y]=='P')
return true;
for(int i=0; i<4; ++i)
{
node kk=k;
kk.x+=X[i],kk.y+=Y[i],kk.step++;
if(check(kk))
continue;
vis[kk.z][kk.x][kk.y]=kk.step;
if(mp[kk.z][kk.x][kk.y]=='#')
kk.z^=1;
if(check(kk))
continue;
vis[kk.z][kk.x][kk.y]=kk.step;
qq.push(kk);
}
}
return false;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin>>T;
while(T--)
{
cin>>n>>m>>t;
for(int p=0; p<2; ++p)
for(int i=0; i<n; ++i)
cin>>mp[p][i];
memset(vis,0,sizeof(vis));
vis[0][0][0]=1;
if(bfs())
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
本文地址:https://blog.csdn.net/qq_43586463/article/details/107379113
上一篇: 百度账号头像图片怎么更换? 百度账号更换头像的教程
下一篇: 螺旋仪传感器控制手机转向修正版
推荐阅读
-
解析Oracle 8i/9i的计划稳定性
-
I - Beat HDU - 2614 DFS
-
宝马计划2021年推自动驾驶电动车i NEXT
-
解析Oracle 8i/9i的计划稳定性
-
I - A计划 HDU - 2102
-
【线段树】【模板】讲解 + 例题1 HDU - 1754 I Hate It (点修改分数)+ 例题二 POJ - 3468 A Simple Problem with Integers(区间加值)
-
【线段树-单点更新区间最大值】hdu 1754 - I Hate It
-
hdu 1754 I Hate It(线段树 + 详细注释)
-
HDU 1754 I Hate It【线段树】【单点更新】
-
hdu 1754 I Hate It (树状数组求区间最大和)(线段树单点修改)