QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#74051 | #4635. Graph Operation | LordLaffey | WA | 296ms | 3732kb | C++14 | 1.9kb | 2023-01-30 14:17:36 | 2023-01-30 14:17:38 |
Judging History
answer
#include <iostream>
#include <cstdio>
#include <bitset>
#include <vector>
#include <algorithm>
using namespace std;
const int SIZE=1005;
struct RNM{
int a,b,c,d;
RNM(int a=0,int b=0,int c=0,int d=0):a(a),b(b),c(c),d(d){}
};
vector<RNM> ans1,ans2;
bitset<SIZE> g[SIZE],h[SIZE];
int deg1[SIZE],deg2[SIZE];
int n;
bool check(int x){
if(g[x]==h[x])
{
g[x].reset();
h[x].reset();
return false;
}
int u=(g[x]^(g[x]&h[x]))._Find_first();
int v=(h[x]^(g[x]&h[x]))._Find_first();
auto f1=(g[v]^(g[u]&g[v]));f1[u]=0;
auto f2=(h[u]^(h[u]&h[v]));f2[v]=0;
int t1=f1._Find_first();
int t2=f2._Find_first();
if(t1<=n)
{
ans1.emplace_back(x,u,v,t1);
g[x][u]=g[u][x]=0;
g[x][v]=g[v][x]=1;
g[t1][v]=g[v][t1]=0;
g[t1][u]=g[u][t1]=1;
}
else
{
ans2.emplace_back(x,u,v,t2);
h[x][v]=h[v][x]=0;
h[x][u]=h[u][x]=1;
h[t2][u]=h[u][t2]=0;
h[t2][v]=h[v][t2]=1;
}
return true;
}
int main(){
int m;
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int u,v;
cin>>u>>v;
g[u][v]=g[v][u]=true;
deg1[u]++,deg1[v]++;
}
for(int i=1;i<=m;i++)
{
int u,v;
cin>>u>>v;
h[u][v]=h[v][u]=true;
deg2[u]++,deg2[v]++;
}
for(int i=1;i<=n;i++)
if(deg1[i]!=deg2[i])
return puts("-1"),0;
for(int i=1;i<=n;i++)
while(check(i));
reverse(ans2.begin(),ans2.end());
cout<<ans1.size()+ans2.size()<<'\n';
for(auto v:ans1) cout<<v.a<<" "<<v.b<<" "<<v.c<<" "<<v.d<<'\n';
for(auto v:ans2) cout<<v.a<<" "<<v.b<<" "<<v.c<<" "<<v.d<<'\n';
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3356kb
input:
4 2 1 2 3 4 1 3 2 4
output:
1 1 2 3 4
result:
ok n=4
Test #2:
score: 0
Accepted
time: 1ms
memory: 3472kb
input:
6 12 1 2 3 5 4 6 1 4 1 5 1 6 2 3 2 5 2 6 3 4 3 6 4 5 1 3 2 4 5 6 1 4 1 5 1 6 2 3 2 5 2 6 3 4 3 6 4 5
output:
2 1 2 3 4 3 5 4 6
result:
ok n=6
Test #3:
score: 0
Accepted
time: 2ms
memory: 3468kb
input:
4 0
output:
0
result:
ok n=4
Test #4:
score: 0
Accepted
time: 2ms
memory: 3464kb
input:
10 0
output:
0
result:
ok n=10
Test #5:
score: 0
Accepted
time: 2ms
memory: 3328kb
input:
100 0
output:
0
result:
ok n=100
Test #6:
score: 0
Accepted
time: 2ms
memory: 3492kb
input:
1000 0
output:
0
result:
ok n=1000
Test #7:
score: 0
Accepted
time: 2ms
memory: 3320kb
input:
4 6 4 1 1 2 1 3 4 3 3 2 4 2 4 1 4 2 4 3 3 2 1 3 1 2
output:
0
result:
ok n=4
Test #8:
score: 0
Accepted
time: 2ms
memory: 3344kb
input:
10 45 7 5 6 1 3 8 9 7 8 1 2 1 7 1 10 9 4 5 6 5 8 6 3 1 5 1 3 6 4 9 6 9 9 1 10 6 4 6 10 2 4 7 4 8 2 5 10 5 3 4 3 7 10 8 8 2 3 10 4 1 4 2 2 9 2 7 8 7 10 1 8 5 6 7 2 6 10 7 9 5 3 9 3 5 8 9 3 2 4 10 3 5 4 6 9 5 7 5 2 9 6 5 4 5 4 1 3 10 8 9 8 6 10 7 3 9 8 2 9 7 8 7 10 8 10 1 2 7 3 6 2 6 3 2 4 2 2 5 10 9 ...
output:
0
result:
ok n=10
Test #9:
score: 0
Accepted
time: 4ms
memory: 3400kb
input:
100 4950 15 37 36 56 57 64 66 63 35 70 8 65 25 36 1 27 6 74 79 22 35 34 79 70 53 74 41 63 7 40 41 22 99 93 96 70 35 30 20 67 48 65 100 21 8 4 75 87 80 10 82 38 7 10 85 77 42 77 28 64 73 60 20 74 73 86 24 31 73 44 97 93 8 74 48 19 63 42 41 57 25 79 13 19 96 39 59 44 81 20 66 2 8 37 34 23 88 27 12 14 ...
output:
0
result:
ok n=100
Test #10:
score: 0
Accepted
time: 266ms
memory: 3732kb
input:
1000 499500 90 844 735 814 874 452 191 64 745 192 489 653 998 227 104 125 296 644 285 190 831 763 70 776 981 126 213 964 306 137 199 965 849 5 717 70 329 305 196 836 909 527 222 367 323 554 384 900 496 797 620 860 18 823 929 135 589 207 947 354 461 271 22 914 456 403 263 362 908 870 30 384 995 996 3...
output:
0
result:
ok n=1000
Test #11:
score: 0
Accepted
time: 296ms
memory: 3708kb
input:
1000 499500 561 780 496 694 698 721 598 412 55 527 799 952 790 473 980 139 375 308 605 850 670 77 77 908 958 436 379 504 293 452 735 666 223 901 944 455 554 123 644 817 723 68 157 867 527 755 380 937 904 851 614 666 299 131 369 83 61 651 820 239 432 583 588 869 500 542 502 996 305 43 601 882 277 337...
output:
0
result:
ok n=1000
Test #12:
score: 0
Accepted
time: 0ms
memory: 3376kb
input:
4 6 4 3 1 3 2 3 4 2 4 1 2 1 2 3 4 1 4 2 4 3 2 1 1 3
output:
0
result:
ok n=4
Test #13:
score: 0
Accepted
time: 0ms
memory: 3496kb
input:
4 5 2 4 4 1 4 3 2 1 3 1 2 4 2 1 4 3 4 1 3 1
output:
0
result:
ok n=4
Test #14:
score: 0
Accepted
time: 0ms
memory: 3308kb
input:
10 21 2 10 8 4 4 9 10 4 6 10 8 9 3 5 7 9 10 5 2 1 2 8 3 10 6 1 10 7 6 7 4 1 3 4 5 1 8 1 2 5 5 7 3 4 3 9 5 8 2 4 2 5 3 1 10 1 3 5 6 1 6 2 3 6 6 8 3 10 2 9 2 8 3 7 6 7 5 7 2 10 5 4 10 5
output:
-1
result:
ok n=10
Test #15:
score: 0
Accepted
time: 1ms
memory: 3328kb
input:
10 3 2 8 2 10 2 9 2 5 2 6 2 7
output:
-1
result:
ok n=10
Test #16:
score: 0
Accepted
time: 2ms
memory: 3320kb
input:
10 33 2 4 2 6 8 1 5 1 7 1 6 1 6 10 3 6 8 2 3 4 5 10 8 9 7 10 2 10 4 1 3 8 4 10 1 9 4 9 8 10 6 4 2 7 1 10 10 9 2 9 2 1 8 4 6 7 4 7 7 9 5 9 6 9 5 6 4 10 1 9 5 2 6 4 2 1 5 7 7 10 2 7 5 10 8 9 6 9 10 9 7 1 3 6 4 1 2 10 7 9 8 2 2 9 3 2 2 4 6 7 1 10 5 8 4 7 3 9 6 10 3 10 8 10 8 4 6 1 8 6 4 9
output:
-1
result:
ok n=10
Test #17:
score: 0
Accepted
time: 0ms
memory: 3332kb
input:
100 149 97 53 14 62 97 60 14 58 85 69 14 63 97 99 14 71 97 88 85 47 14 61 14 43 97 44 97 17 14 39 85 17 20 99 97 73 85 31 85 67 85 12 14 24 14 69 14 96 97 76 97 95 97 11 85 79 85 19 85 70 85 6 14 56 14 12 85 98 85 53 85 76 85 26 20 37 97 35 97 70 20 96 97 82 97 34 85 94 14 46 97 54 97 43 97 4 85 2 8...
output:
-1
result:
ok n=100
Test #18:
score: 0
Accepted
time: 4ms
memory: 3280kb
input:
100 4631 2 12 66 70 81 62 5 66 94 2 92 64 62 96 58 39 34 3 21 96 52 15 23 67 62 29 38 18 72 56 67 50 81 70 38 42 81 68 99 22 61 42 30 71 32 93 46 95 27 72 97 37 27 2 46 73 65 2 94 22 33 11 64 73 44 5 48 13 65 16 24 44 61 15 34 71 40 1 60 87 100 66 84 33 81 7 14 69 57 83 63 79 23 96 34 15 72 41 47 12...
output:
-1
result:
ok n=100
Test #19:
score: 0
Accepted
time: 144ms
memory: 3708kb
input:
1000 261943 229 141 480 681 189 131 575 202 700 642 405 254 845 739 920 506 838 6 366 32 886 326 124 749 375 702 426 316 843 800 736 845 752 171 744 236 169 313 612 804 675 808 230 804 454 695 617 445 606 481 766 254 140 421 483 155 775 115 617 583 710 417 936 649 329 53 526 979 833 382 464 327 475 ...
output:
-1
result:
ok n=1000
Test #20:
score: 0
Accepted
time: 28ms
memory: 3564kb
input:
1000 48821 306 916 554 937 602 467 778 306 291 993 446 28 561 538 566 718 833 139 857 553 738 128 153 811 350 290 458 146 211 897 158 828 925 574 291 91 530 933 833 387 773 926 554 776 900 41 158 186 877 717 975 113 360 451 375 101 980 364 96 203 492 953 29 280 469 540 153 604 44 911 601 229 469 858...
output:
-1
result:
ok n=1000
Test #21:
score: 0
Accepted
time: 2ms
memory: 3320kb
input:
4 1 4 1 4 1
output:
0
result:
ok n=4
Test #22:
score: 0
Accepted
time: 2ms
memory: 3368kb
input:
6 5 6 3 5 6 2 6 2 3 6 4 6 5 6 4 6 2 2 3 6 3
output:
0
result:
ok n=6
Test #23:
score: 0
Accepted
time: 2ms
memory: 3324kb
input:
6 1 3 1 1 2
output:
-1
result:
ok n=6
Test #24:
score: -100
Wrong Answer
time: 2ms
memory: 3324kb
input:
10 34 7 2 8 10 10 9 6 1 6 5 2 4 6 4 2 5 7 4 2 3 9 4 1 5 6 3 2 1 3 4 4 5 3 5 8 4 7 6 8 1 6 9 10 5 10 4 7 9 3 9 2 9 3 1 1 4 10 6 8 2 8 7 6 2 9 5 1 9 6 2 4 9 4 2 7 8 2 10 4 10 4 8 4 1 2 1 4 7 6 9 6 1 5 8 4 6 1 3 9 7 6 3 9 10 2 5 4 5 6 8 9 5 5 7 2 3 1 10 2 9 4 3 2 8 3 10 1 5 9 1 6 7 6 5 9 3
output:
6 1 8 10 5 2 7 10 1 5 6 7 8 7 1 8 2 8 10 2 1 3 5 10 6
result:
wrong answer b and d can't be adjacent! round 4 : a,b,c,d = 7,1,8,2