~~quq~~ hdu 2102 A计划 tle50求助
  • 板块题目总版
  • 楼主Nostopathy
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/1 09:17
  • 上次更新2024/5/1 12:36:58
查看原帖
~~quq~~ hdu 2102 A计划 tle50求助
1286053
Nostopathy楼主2024/5/1 09:17
#include<bits/stdc++.h>
using namespace std;
struct Poi{
	int x,y,z;
};
int n,m,t,vis[3][103][103],dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
string mix[3][103];
queue<Poi>q;
bool bfs(){
	int ans=0x3f3f3f3f3f;
	memset(vis,0x3f3f3f3f3f,sizeof(vis));
	Poi a,b;
	a.x=a.y=a.z=vis[0][0][0]=0,q.push(a);
	while(!q.empty()){
		a=q.front(),q.pop();
		if(mix[a.z][a.x][a.y]=='P')ans=min(ans,vis[a.z][a.x][a.y]);
		if(mix[a.z][a.x][a.y]=='#'){
			if(mix[(a.z+1)%2][a.x][a.y]=='*'||mix[(a.z+1)%2][a.x][a.y]=='#')
				vis[(a.z+1)%2][a.x][a.y]=vis[a.z][a.x][a.y],b=a,b.z=(a.z+1)%2,q.push(b);
			continue;
		}
		for(int i=0;i<4;++i){
			int x=a.x+dx[i],y=a.y+dy[i],z=a.z;
			if(x>=0&&x<n&&y>=0&&y<n&&mix[z][x][y]!='*'&&vis[z][x][y]>1+vis[z][a.x][a.y])
				vis[z][x][y]=1+vis[z][a.x][a.y],b.x=x,b.y=y,b.z=z,q.push(b);
		}
	}
	return (ans<=t);
}
int main(){
	int tid;
	cin>>tid;
	while(tid--){
		cin>>n>>m>>t;
		for(int i=0;i<2;++i)
			for(int j=0;j<n;++j)
				cin>>mix[i][j];
		puts(bfs()?"YES":"NO");
	}
}

[Warning] overflow in implicit constant conversion [-Woverflow]

有这么一种xx错误,quq求助

2024/5/1 09:17
加载中...