QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#18204#2213. KnightAppleblue17#WA 18ms13320kbC++840b2022-01-16 19:29:442022-05-04 17:20:22

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-04 17:20:22]
  • 评测
  • 测评结果:WA
  • 用时:18ms
  • 内存:13320kb
  • [2022-01-16 19:29:44]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=1100;
int n,m,r,c,x,y,X,Y,cnt;
char S[N][N];
int col[N][N];
void dfs(int x,int y,int w){
	if(x<1 || x>n || y<1 || y>m || S[x][y]=='@' || col[x][y]!=-1) return ;
	col[x][y]=w;
	cnt++;
	dfs(x-r,y-c,w^1);
	dfs(x-r,y+c,w^1);
	dfs(x+r,y-c,w^1);
	dfs(x+r,y+c,w^1);
	dfs(x-c,y-r,w^1);
	dfs(x-c,y+r,w^1);
	dfs(x+c,y-r,w^1);
	dfs(x+c,y+r,w^1);
}

int main(){
	cin>>n>>m>>r>>c;
	for(int i=1;i<=n;i++){
		scanf("\n%s",S[i]+1);
		for(int j=1;j<=m;j++){
			if(S[i][j]=='A') x=i,y=j;
			if(S[i][j]=='B') X=i,Y=j;
		}
	}
	memset(col,-1,sizeof(col));
	dfs(X,Y,0);
//	for(int i=1;i<=n;i++){
//		for(int j=1;j<=m;j++){
//			cout<<col[i][j]<<" ";
//		}
//		cout<<endl;
//	}
	if(cnt>1 && (col[X][Y]==-1 || col[X][Y]==col[x][y])) puts("Alice");
	else puts("Bob");
}

Details

Test #1:

score: 100
Accepted
time: 9ms
memory: 9084kb

Test #2:

score: 0
Accepted
time: 4ms
memory: 8472kb

Test #3:

score: -100
Wrong Answer
time: 18ms
memory: 13320kb