QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#673042#4434. LemurskircoWA 191ms6692kbC++231.8kb2024-10-24 20:24:102024-10-24 20:24:12

Judging History

你现在查看的是最新测评结果

  • [2024-10-24 20:24:12]
  • 评测
  • 测评结果:WA
  • 用时:191ms
  • 内存:6692kb
  • [2024-10-24 20:24:10]
  • 提交

answer

#include <bits/stdc++.h>
#define iosy ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
const int N = 1005;
int dx[4]={1,0,-1,0},dy[4]={0,-1,0,1};
int n,m,k;
vector<vector<char>> mp(N,vector<char>(N));
bool use[N][N];
char ans[N][N];

bool pd(int x,int y){//判断是否出图
	if(x<1||x>n||y<1||y>m)return false;
	return true;
}

void bfs1(int x,int y){
	queue<pair<int,int>> q;
	vector<vector<bool>> vis(n+1,vector<bool>(m+1,false));
	q.push({x,y});vis[x][y]=true;
	while(!q.empty()){
		auto& [tx,ty]=q.front();
		q.pop();
		use[tx][ty]=1;
		for(int i=0;i<4;i++){
			int tnx=tx+dx[i],tny=ty+dy[i];
			if(pd(tnx,tny)&&abs(tnx-x)+abs(tny-y)<=k&&!vis[tnx][tny]){
				vis[tnx][tny]=1;
				q.push({tnx,tny});
			}
		}
	}
}

void bfs2(int x,int y){
	queue<pair<int,int>> q;
	vector<vector<bool>> vis(n+1,vector<bool>(m+1,false));
	q.push({x,y});vis[x][y]=true;
	while(!q.empty()){
		auto& [tx,ty]=q.front();
		q.pop();
		ans[tx][ty]='x';
		for(int i=0;i<4;i++){
			int tnx=tx+dx[i],tny=ty+dy[i];
			if(pd(tnx,tny)&&abs(tnx-x)+abs(tny-y)<=k&&!vis[tnx][tny]){
				vis[tnx][tny]=1;
				q.push({tnx,tny});
			}
		}
	}
}

void solve(){
	cin>>n>>m>>k;//觅食范围是一个菱形
	for(int i=1;i<=n;i++){
		string s;cin>>s;s=" "+s;
		for(int j=1;j<=m;j++){
			mp[i][j]=s[j];
		}
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(mp[i][j]=='.')bfs1(i,j);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(!use[i][j])bfs2(i,j);
	//假设可以
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(mp[i][j]=='x'&&ans[i][j]!='x'){
				return cout<<"NIE\n",void();
			}
		}
	}
	cout<<"TAK\n";
	//清空多测
	memset(use,0,sizeof(use));
	memset(ans,'B',sizeof(ans));
}

signed main()
{
	iosy;
	int _t=1;
	cin>>_t;
	while(_t--){
		solve();
	}
	return 0;
}

详细

Test #1:

score: 0
Wrong Answer
time: 191ms
memory: 6692kb

input:

4000
1 1 1
.
1 1 1
x
1 1 1000
.
1 1 1000
x
1 1000 4
..........................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

output:

TAK
TAK
TAK
TAK
TAK
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
NIE
TAK
NIE
NIE
NIE
NIE
NIE
...

result:

wrong answer 8th lines differ - expected: 'TAK', found: 'NIE'