QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#87034 | #3002. Busy Board | Bird | WA | 14ms | 5564kb | C++14 | 1.6kb | 2023-03-11 16:27:25 | 2023-03-11 16:27:26 |
Judging History
answer
#include<bits/stdc++.h>
#define N 1000
using namespace std;
int n,m,cntr[N+5],cntc[N+5];
char st[N+5][N+5],ed[N+5][N+5];
bool visr[N+5],visc[N+5];
inline bool check()
{
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
if(st[i][j]!=ed[i][j]) return 0;
return 1;
}
queue<pair<int,int>> q;
inline void check_node(int x,int y)
{
if(ed[x][y]=='O') return;
int col=ed[x][y]=='X';
if(cntr[x]==col && cntc[y]==col) q.push({x,y});
}
inline void checkr(int x) {for(int y=1;y<=m;++y) check_node(x,y);}
inline void checkc(int y) {for(int x=1;x<=n;++x) check_node(x,y);}
inline void del_node(int x,int y)
{
if(ed[x][y]!='X') return;
if((--cntr[x])<=1) checkr(x);
if((--cntc[y])<=1) checkc(y);
}
inline void delr(int x) {for(int y=1;y<=m;++y) del_node(x,y),ed[x][y]='?';}
inline void delc(int y) {for(int x=1;x<=n;++x) del_node(x,y),ed[x][y]='?';}
inline bool check_ans()
{
for(int i=1;i<=n;++i) if(!visr[i])
for(int j=1;j<=m;++j) if(!visc[j])
if(st[i][j]!=ed[i][j]) return 0;
for(int i=1;i<=n;++i) if(visr[i])
for(int j=1;j<=m;++j) if(visc[j])
if(st[i][j]=='O') return 1;
return 0;
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;++i) scanf("%s",st[i]+1);
for(int i=1;i<=n;++i) scanf("%s",ed[i]+1);
if(check()) return puts("1"),0;
for(int i=1;i<=n;++i) for(int j=1;j<=m;++j)
if(ed[i][j]=='X') ++cntr[i],++cntc[j];
for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) check_node(i,j);
while(!q.empty())
{
int x=q.front().first,y=q.front().second;q.pop();
if(!visr[x]) visr[x]=1,delr(x);
if(!visc[y]) visc[y]=1,delc(y);
}
printf("%d\n",check_ans());
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 12ms
memory: 5148kb
input:
769 998 OOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOO...
output:
0
result:
ok answer is 0
Test #2:
score: 0
Accepted
time: 14ms
memory: 5564kb
input:
977 998 OOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXOOOOOOOOOOO...
output:
0
result:
ok answer is 0
Test #3:
score: -100
Wrong Answer
time: 9ms
memory: 5444kb
input:
941 973 XOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXOXXXXXXXOXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
output:
0
result:
wrong answer expected 1, found 0