QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#516158 | #6398. Puzzle: Tapa | huayucaiji | WA | 0ms | 3772kb | C++14 | 2.7kb | 2024-08-12 14:04:34 | 2024-08-12 14:04:35 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int MAXN=2.5e3+10;
int n,m,stp,cnt;
int a[110][110],h[MAXN],vis[MAXN],match[MAXN],b[110][110];
char mp[110][110];
char read_char() {
char ch=getchar();
while(!isdigit(ch)&&ch!='.') {
ch=getchar();
}
return ch;
}
int idx(int i,int j) {
return (i-1)*((m+1)/2)+j;
}
void repair(int &x,int &y,int idx) {
x=(idx-1)/((m+1)/2)+1;
y=(idx-1)%((m+1)/2)+1;
}
struct edge {
int v,nxt;
}e[MAXN<<3];
void addedge(int u,int v) {
e[++cnt].v=v;
e[cnt].nxt=h[u];
h[u]=cnt;
}
void insert(int u,int v) {
addedge(u,v);
addedge(v,u);
}
bool dfs(int u) {
for(int i=h[u];i;i=e[i].nxt) {
int v=e[i].v;
if(vis[v]!=stp) {
vis[v]=stp;
if(match[v]==-1||dfs(match[v])) {
match[v]=u;
return 1;
}
}
}
return 0;
}
int main() {
cin>>n>>m;
n=2*n-1;
m=2*m-1;
int k=0;
for(int i=1;i<=n;i++) {
for(int j=1;j<=m;j++) {
mp[i][j]=read_char();
if((i&1)&&(j&1)) {
int x=a[(i+1)/2][(j+1)/2]=mp[i][j]-'0';
if(x==2||x==4||x==7) {
k++;
b[(i+1)/2][(j+1)/2]=1;
}
}
else {
mp[i][j]='#';
}
}
}
for(int i=1;i<=(n+1)/2;i++) {
for(int j=1;j<=(m+1)/2;j++) {
int x,y;
x=i+1,y=j;
if(x<=(n+1)/2&&y<=(m+1)/2) {
if(i+x-1==2||i+x-1==n-1) {
if(j>1&&j<(m+1)/2) continue;
}
if(b[i][j]&&b[x][y]) {
insert(idx(i,j),idx(x,y));
}
}
}
for(int j=1;j<=(m+1)/2;j++) {
int x=i,y=j+1;
if(x<=(n+1)/2&&y<=(m+1)/2) {
if(y+j-1==2||y+j-1==m-1) {
if(i>1&&i<(n+1)/2) continue;
}
if(b[i][j]&&b[x][y]) {
insert(idx(i,j),idx(x,y));
}
}
}
}
fill(match+1,match+idx((n+1)/2,(m+1)/2)+1,-1);
for(int i=1;i<=idx((n+1)/2,(m+1)/2);i++) {
stp++;
k-=dfs(i);
}
if(k!=0) {
puts("NO");
return 0;
}
for(int i=1;i<=idx((n+1)/2,(m+1)/2);i++) {
int x,y;
repair(x,y,i);
if(!b[x][y]) {
continue;
}
if(match[i]==-1) {
continue;
}
int a,b;
repair(a,b,match[i]);
x=2*x-1;
y=2*y-1;
a=2*a-1;
b=2*b-1;
mp[(x+a)/2][(y+b)/2]='.';
}
puts("YES");
for(int i=1;i<=n;i++) {
for(int j=1;j<=m;j++) {
putchar(mp[i][j]);
}
puts("");
}
return 0;
}
/*
2 5
2.4.4.4.3
.........
3.4.4.4.2
3 2
3.3
...
4.4
...
3.3
2 2
2.3
...
3.2
5 5
3.5.5.5.3
.........
5.7.7.7.5
.........
5.7.7.7.5
.........
5.8.8.8.4
.........
3.5.5.5.2
3 3
2.4.2
.....
4.8.4
.....
2.4.2
2 2
2.2
...
2.2
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3640kb
input:
3 3 2.4.3 ..... 5.8.5 ..... 3.5.3
output:
YES 2.4#3 ##### 5#8#5 ##### 3#5#3
result:
ok Correct.
Test #2:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
3 3 3.4.3 ..... 5.7.5 ..... 3.5.3
output:
NO
result:
ok Correct.
Test #3:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
2 2 2.2 ... 2.2
output:
YES 2.2 ### 2.2
result:
ok Correct.
Test #4:
score: 0
Accepted
time: 0ms
memory: 3724kb
input:
2 50 2.4.4.4.4.5.5.5.5.5.5.5.5.4.5.5.4.4.5.5.5.5.4.5.5.5.5.5.4.4.5.4.5.5.5.5.5.5.5.5.5.5.5.4.4.5.5.4.5.3 ................................................................................................... 2.5.5.4.4.5.5.5.4.4.5.5.5.4.5.5.5.5.5.5.5.5.4.4.4.5.5.5.5.5.5.4.4.4.5.5.5.5.5.5.5.4.4.5.5.5.5.4...
output:
NO
result:
ok Correct.
Test #5:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
2 50 2.4.4.5.5.5.5.5.5.5.5.5.4.4.5.5.5.5.4.4.5.5.4.4.5.5.5.4.5.4.4.4.5.4.4.5.4.4.5.5.5.5.4.4.5.5.5.5.5.2 ................................................................................................... 3.5.4.5.5.5.5.5.5.5.5.5.5.5.4.5.5.5.5.4.5.5.5.5.4.4.5.4.5.4.5.5.5.5.5.4.4.5.5.5.4.4.5.5.5.5.5.4...
output:
NO
result:
ok Correct.
Test #6:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
50 2 3.2 ... 5.4 ... 5.5 ... 4.4 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.4 ... 5.4 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.4 ... 5.4 ... 5.4 ... 5.4 ... 4.4 ... 5.5 ... 5.5 ... 4.4 ... 5.4 ... 5.4 ... 5.5 ... 4.5 ... 4.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ......
output:
NO
result:
ok Correct.
Test #7:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
50 2 3.3 ... 5.4 ... 5.4 ... 5.4 ... 5.4 ... 5.5 ... 4.4 ... 4.4 ... 5.5 ... 4.4 ... 5.5 ... 5.5 ... 5.5 ... 5.5 ... 4.5 ... 5.5 ... 5.5 ... 5.4 ... 5.4 ... 5.5 ... 5.4 ... 5.5 ... 5.4 ... 5.4 ... 5.5 ... 5.5 ... 4.5 ... 4.5 ... 4.5 ... 4.5 ... 5.5 ... 5.4 ... 5.4 ... 5.5 ... 5.5 ... 4.4 ... 4.4 ......
output:
NO
result:
ok Correct.
Test #8:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
3 50 3.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.4.4.5.5.5.5.4.4.5.5.5.5.5.5.5.5.4.4.5.5.4.4.5.4.4.5.3 ................................................................................................... 4.8.8.8.8.8.8.8.8.8.8.8.8.8.8.7.7.7.7.7.7.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.7.7.8...
output:
YES 3#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#4.4#5#5#5#5#4.4#5#5#5#5#5#5#5#5#4.4#5#5#4.4#5#4.4#5#3 ################################################################################################### 4#8#8#8#8#8#8#8#8#8#8#8#8#8#8#7.7#7.7#7.7#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#8#7.7#8#...
result:
ok Correct.
Test #9:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
3 50 2.4.4.4.5.4.4.4.4.4.4.5.5.4.4.5.5.4.4.5.5.5.4.4.5.5.5.4.4.5.5.4.4.4.4.5.5.5.5.5.5.4.4.5.5.5.5.4.4.3 ................................................................................................... 5.7.7.8.7.7.7.7.8.8.8.8.7.7.8.7.7.8.8.8.8.7.7.8.8.8.7.7.8.7.7.8.8.8.8.7.7.8.8.7.7.8.8.8.7.7.8.8...
output:
YES 2.4#4.4#5#4.4#4.4#4.4#5#5#4.4#5#5#4.4#5#5#5#4.4#5#5#5#4.4#5#5#4.4#4.4#5#5#5#5#5#5#4.4#5#5#5#5#4.4#3 ################################################################################################### 5#7.7#8#7.7#7.7#8#8#8#8#7.7#8#7.7#8#8#8#8#7.7#8#8#8#7.7#8#7.7#8#8#8#8#7.7#8#8#7.7#8#8#8#7.7#8#8#...
result:
ok Correct.
Test #10:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
50 3 3.5.3 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.4 ..... 5.8.4 ..... 4.8.5 ..... 4.7.5 ..... 5.7.5 ..... 5.8.5 ..... 5.8.4 ..... 5.8.4 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 4.8.5 ..... 4.7.5 ..... 5.7.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ....
output:
YES 3#5#3 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#4 ####. 5#8#4 ##### 4#8#5 .#### 4#7#5 ##.## 5#7#5 ##### 5#8#5 ##### 5#8#4 ####. 5#8#4 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 4#8#5 .#### 4#7#5 ##.## 5#7#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##...
result:
ok Correct.
Test #11:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
50 3 2.4.3 ..... 4.8.5 ..... 4.8.5 ..... 5.8.5 ..... 4.7.4 ..... 4.7.4 ..... 4.8.5 ..... 4.8.4 ..... 5.8.4 ..... 4.7.5 ..... 4.7.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.4 ..... 5.8.4 ..... 5.8.5 ..... 5.8.5 ..... 5.7.5 ..... 5.7.5 ..... 5.8.5 ..... 5.8.5 ..... 5.8.5 ..... 4.8.5 ..... 4.7.5 ..... 4.7.4 ....
output:
YES 2.4#3 ##### 4#8#5 .#### 4#8#5 ##### 5#8#5 ##### 4#7#4 .#.#. 4#7#4 ##### 4#8#5 .#### 4#8#4 ####. 5#8#4 ##### 4#7#5 .#.## 4#7#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#4 ####. 5#8#4 ##### 5#8#5 ##### 5#8#5 ##### 5#7#5 ##.## 5#7#5 ##### 5#8#5 ##### 5#8#5 ##### 5#8#5 ##### 4#8#5 .#### 4#7#5 ##.## 4#7#4 .#...
result:
ok Correct.
Test #12:
score: 0
Accepted
time: 0ms
memory: 3556kb
input:
10 10 2.4.4.4.5.5.4.4.5.2 ................... 5.7.8.8.7.8.7.7.8.4 ................... 4.7.8.8.7.8.8.8.8.5 ................... 4.8.8.8.7.7.8.8.8.4 ................... 5.8.7.7.7.7.8.8.7.4 ................... 4.7.7.8.8.8.8.8.7.4 ................... 4.8.7.8.8.7.7.7.8.4 ................... 5.8.7.8.8.7.8....
output:
YES 2.4#4.4#5#5#4.4#5#2 ##################. 5#7#8#8#7#8#7.7#8#4 ##.#####.########## 4#7#8#8#7#8#8#8#8#5 .################## 4#8#8#8#7.7#8#8#8#4 ##################. 5#8#7.7#7.7#8#8#7#4 ################.## 4#7.7#8#8#8#8#8#7#4 .#################. 4#8#7#8#8#7#7.7#8#4 ####.#####.######## 5#8#7#8#8#7#8#8#...
result:
ok Correct.
Test #13:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
10 10 3.5.5.5.5.5.5.4.4.3 ................... 5.7.7.8.8.7.8.7.7.4 ................... 5.8.8.7.7.7.7.7.8.4 ................... 5.8.7.7.8.8.8.7.7.5 ................... 5.8.8.7.7.7.7.7.7.5 ................... 4.7.7.8.8.7.8.8.7.4 ................... 4.7.7.7.7.7.7.8.7.4 ................... 5.8.7.8.7.7.7....
output:
NO
result:
ok Correct.
Test #14:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
10 10 2.4.5.4.4.5.5.5.5.3 ................... 4.8.7.7.8.8.8.7.8.4 ................... 4.8.7.8.7.8.8.7.8.4 ................... 5.7.7.8.7.7.7.8.7.5 ................... 5.7.8.8.8.8.8.8.7.5 ................... 4.7.8.7.7.7.8.8.8.5 ................... 4.7.7.7.8.7.7.8.8.5 ................... 4.7.8.7.8.8.7....
output:
YES 2.4#5#4.4#5#5#5#5#3 ################### 4#8#7.7#8#8#8#7#8#4 .#############.###. 4#8#7#8#7#8#8#7#8#4 ####.###.########## 5#7#7#8#7#7.7#8#7#5 ##.#############.## 5#7#8#8#8#8#8#8#7#5 ################### 4#7#8#7.7#7#8#8#8#5 .#.#######.######## 4#7#7.7#8#7#7#8#8#5 ############.###### 4#7#8#7#8#8#7#8#...
result:
ok Correct.
Test #15:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
10 10 2.4.4.4.5.5.4.4.5.3 ................... 5.7.8.8.7.7.7.7.7.5 ................... 5.7.7.7.8.7.7.8.7.5 ................... 4.8.7.7.8.8.8.7.8.4 ................... 4.8.8.8.7.8.8.7.8.4 ................... 4.8.8.8.7.8.8.8.8.5 ................... 4.8.7.8.7.7.7.8.8.4 ................... 5.8.7.8.7.8.8....
output:
YES 2.4#4.4#5#5#4.4#5#3 ################### 5#7#8#8#7.7#7.7#7#5 ##.#############.## 5#7#7.7#8#7.7#8#7#5 ################### 4#8#7.7#8#8#8#7#8#4 .#############.###. 4#8#8#8#7#8#8#7#8#4 ########.########## 4#8#8#8#7#8#8#8#8#5 .################## 4#8#7#8#7#7.7#8#8#4 ####.###.#########. 5#8#7#8#7#8#8#8#...
result:
ok Correct.
Test #16:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
10 10 3.5.4.4.5.5.4.4.5.3 ................... 5.7.8.8.7.8.8.8.8.5 ................... 5.7.8.8.7.7.7.8.8.5 ................... 5.8.7.7.8.8.7.8.8.5 ................... 5.8.8.8.8.8.7.8.8.4 ................... 5.7.7.8.8.7.8.7.8.4 ................... 5.7.8.8.8.7.7.7.8.5 ................... 5.7.8.8.8.8.7....
output:
YES 3#5#4.4#5#5#4.4#5#3 ################### 5#7#8#8#7#8#8#8#8#5 ##.#####.########## 5#7#8#8#7#7.7#8#8#5 ################### 5#8#7.7#8#8#7#8#8#5 ############.###### 5#8#8#8#8#8#7#8#8#4 ##################. 5#7.7#8#8#7#8#7#8#4 ##########.###.#### 5#7#8#8#8#7#7#7#8#5 ##.#########.###### 5#7#8#8#8#8#7#8#...
result:
ok Correct.
Test #17:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
10 10 3.5.5.4.4.5.5.4.4.3 ................... 5.7.7.7.7.8.8.7.7.5 ................... 5.8.7.7.8.8.8.8.8.5 ................... 5.7.8.8.8.7.7.8.8.4 ................... 5.7.7.7.8.7.7.8.7.4 ................... 5.8.8.8.7.7.8.8.7.5 ................... 4.7.7.8.8.8.7.7.8.5 ................... 4.8.8.8.7.7.8....
output:
YES 3#5#5#4.4#5#5#4.4#3 ################### 5#7.7#7.7#8#8#7.7#5 ################### 5#8#7.7#8#8#8#8#8#5 ################### 5#7#8#8#8#7.7#8#8#4 ##.###############. 5#7#7.7#8#7.7#8#7#4 ################.## 5#8#8#8#7.7#8#8#7#5 ################### 4#7.7#8#8#8#7.7#8#5 .################## 4#8#8#8#7.7#8#7#...
result:
ok Correct.
Test #18:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
10 10 2.4.4.5.4.4.4.4.4.2 ................... 4.8.7.8.8.7.8.8.8.4 ................... 4.8.7.8.7.7.7.7.7.4 ................... 4.7.7.8.7.8.7.7.7.4 ................... 5.8.7.8.7.7.8.8.8.4 ................... 4.8.7.8.7.7.7.7.7.5 ................... 4.8.7.7.8.8.7.7.7.5 ................... 4.7.7.8.8.7.8....
output:
YES 2#4.4#5#4.4#4.4#4.2 .################## 4#8#7#8#8#7#8#8#8#4 ####.#####.#######. 4#8#7#8#7#7#7#7.7#4 .#######.###.###### 4#7.7#8#7#8#7#7.7#4 ##################. 5#8#7#8#7.7#8#8#8#4 ####.############## 4#8#7#8#7.7#7#7.7#5 .###########.###### 4#8#7.7#8#8#7#7.7#5 ################### 4#7.7#8#8#7#8#8#...
result:
ok Correct.
Test #19:
score: -100
Wrong Answer
time: 0ms
memory: 3648kb
input:
10 10 2.4.4.4.4.4.4.4.4.2 ................... 4.8.8.7.7.7.7.8.8.5 ................... 4.7.8.7.8.8.7.8.7.4 ................... 4.7.8.7.7.8.7.7.7.4 ................... 4.8.7.8.7.7.7.7.8.4 ................... 4.8.7.8.7.7.7.7.7.4 ................... 4.7.8.7.8.7.7.7.7.4 ................... 4.7.7.7.7.7.7....
output:
YES 2.4#4.4#4.4#4.4#4.2 ################### 4#8#8#7#7.7#7#8#8#5 .#####.#####.###### 4#7#8#7#8#8#7#8#7#4 ##.#############.#. 4#7#8#7.7#8#7.7#7#4 .################## 4#8#7#8#7.7#7.7#8#4 ####.#############. 4#8#7#8#7.7#7.7.7#4 .###########.###.## 4#7#8#7#8#7#7.7.7#4 ##.###.###.#######. 4#7#7#7#7#7#7.7#...
result:
wrong answer Clue not satisfied at (11,13)