QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#674655 | #8935. Puzzle: Easy as Scrabble | realman | WA | 0ms | 3992kb | C++14 | 1.0kb | 2024-10-25 17:08:05 | 2024-10-25 17:08:05 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=110;
char s[N][N];int n,m,dx[]={1,-1,0,0},dy[]={0,0,1,-1};
vector<pair<int,char> > g[N][N];
queue<pair<int,int> > q;
void check(int x,int y,int i,char c)
{
if(c=='.') return;
while(x<=n&&y<=m&&x>=1&&y>=1)
{
if(s[x][y]!='x')
{
g[x][y].push_back(make_pair(i,c));
if(s[x][y]=='.'||s[x][y]==c) s[x][y]=c;
else s[x][y]='x',q.push(make_pair(x,y));
return;
}
x+=dx[i],y+=dy[i];
}
printf("NO\n");
exit(0);
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=0;i<=n+1;i++)
scanf("%s",s[i]);
for(int i=1;i<=m;i++)
{
check(1,i,0,s[0][i]);
check(n,i,1,s[n+1][i]);
}
for(int i=1;i<=n;i++)
{
check(i,1,2,s[i][0]);
check(i,m,3,s[i][m+1]);
}
while(!q.empty())
{
int x=q.front().first,y=q.front().second;q.pop();
for(int j=0;j<g[x][y].size();j++)
check(x,y,g[x][y][j].first,g[x][y][j].second);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
printf("%c",s[i][j]=='x'?'.':s[i][j]);
printf("\n");
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3992kb
input:
5 5 .CBA... ....x.. ..x...C A.....B B..x..A C...... .......
output:
CBA.. ....C A...B B...A C....
result:
wrong answer YES or NO expected in answer, but CBA.. found.