QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#392287 | #4686. Tours | OccDreamer | WA | 2ms | 14268kb | C++14 | 2.6kb | 2024-04-17 14:02:11 | 2024-04-17 14:02:12 |
Judging History
answer
//code by Emissary
#include<bits/stdc++.h>
#define vc vector
#define db double
#define fi first
#define se second
#define ll long long
#define mk make_pair
#define pb push_back
#define RI register int
#define PI pair<int,int>
#define ull unsigned long long
#define err cerr << " -_- " << endl
#define debug cerr << " ------------------- " << endl
#define input(x) freopen(#x".in","r",stdin)
#define output(x) freopen(#x".out","w",stdout)
#define NO puts("No")
#define YES puts("Yes")
//#define OccDreamer
//#define int long long
using namespace std;
namespace IO{
inline int read(){
int X=0, W=0; char ch=getchar();
while(!isdigit(ch)) W|=ch=='-', ch=getchar();
while(isdigit(ch)) X=(X<<1)+(X<<3)+(ch^48), ch=getchar();
return W?-X:X;
}
inline void write(int x){
if(x<0) x=-x, putchar('-');
if(x>9) write(x/10);
putchar(x%10+'0');
}
inline void sprint(int x){write(x), putchar(32);}
inline void eprint(int x){write(x), putchar(10);}
}using namespace IO;
const int MAXN = 1e5+5;
int n, m, tot, ss, tim;
int fa[MAXN], siz[MAXN], id[MAXN], total[MAXN];
int head[MAXN], ne[MAXN<<1], to[MAXN<<1], cnt;
vc<int> G[MAXN];
vc<PI> T[MAXN];
PI F[MAXN];
mt19937_64 rnd(time(0));
ull val[MAXN], hsh[MAXN], oo[MAXN], oc[MAXN], tree[MAXN];
bool ins[MAXN], vis[MAXN];
inline int lowbit(int x){return x & -x;}
inline void Add(int x, ull v){while(x<=n) tree[x]+=v, x+=lowbit(x);}
inline ull Ask(int x){ull s=0; while(x) s^=tree[x], x^=lowbit(x); return s;}
inline void add(int x, int y){++cnt;to[cnt]=y;ne[cnt]=head[x];head[x]=cnt;}
inline void dfs(int x, int f){
ins[x]=1; fa[x]=f; siz[x]=1; id[x]=++tim; vis[x]=1;
for(int i=head[x];i;i=ne[i]){
if(to[i]==f) continue;
if(vis[to[i]]){
if(ins[to[i]]) F[++tot]=mk(x,to[i]), T[to[i]].pb(mk(x,tot));
continue;
}
G[x].pb(to[i]); dfs(to[i],x); siz[x]+=siz[to[i]];
}
ins[x]=0;
}
inline void calc(int x, int f){
if(f) oo[++ss]=hsh[x];
for(auto i:G[x]) calc(i,x);
}
signed main(){
n=read(), m=read();
for(int i=1;i<=m;++i){
int x, y;
x=read(), y=read();
add(x,y); add(y,x);
}
dfs(1,0);
for(int i=1;i<=tot;++i){
val[i]=rnd();
int u=F[i].fi, e=F[i].se;
while(u!=e) hsh[u]^=val[i], u=fa[u];
}
calc(1,0);
for(int i=1;i<=tot;++i) oo[++ss]=val[i];
sort(oo+1,oo+1+ss);
for(int i=1;i<=ss;++i) oc[i]=oo[i];
int len=ss; ss=unique(oo+1,oo+1+ss)-oo-1;
for(int i=1;i<=len;++i) total[lower_bound(oo+1,oo+1+ss,oc[i])-oo]++;
int g=0;
for(int i=1;i<=ss;++i) if(oo[i]) g=__gcd(g,total[i]);
for(int i=1;i<=g;++i) if(g%i==0) sprint(i);
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 13948kb
input:
4 5 1 2 2 3 3 4 1 4 1 3
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 2ms
memory: 14020kb
input:
6 6 1 2 2 3 1 3 1 4 2 5 3 6
output:
1 3
result:
ok 2 number(s): "1 3"
Test #3:
score: 0
Accepted
time: 0ms
memory: 13908kb
input:
4 5 1 2 3 4 2 3 1 4 1 3
output:
1
result:
ok 1 number(s): "1"
Test #4:
score: 0
Accepted
time: 2ms
memory: 11872kb
input:
6 6 1 2 2 3 1 4 2 5 1 3 3 6
output:
1 3
result:
ok 2 number(s): "1 3"
Test #5:
score: 0
Accepted
time: 2ms
memory: 13908kb
input:
9 10 1 2 2 3 3 4 4 5 5 6 6 7 7 8 1 8 4 9 6 9
output:
1 2
result:
ok 2 number(s): "1 2"
Test #6:
score: 0
Accepted
time: 2ms
memory: 11932kb
input:
6 7 1 2 2 3 3 4 4 5 5 6 1 6 3 6
output:
1
result:
ok 1 number(s): "1"
Test #7:
score: 0
Accepted
time: 2ms
memory: 11932kb
input:
33 36 2 22 12 18 27 28 9 19 26 27 6 21 15 16 2 3 7 24 3 12 4 23 28 29 5 14 29 30 1 10 11 13 6 13 16 25 14 21 4 16 10 19 10 11 5 15 1 8 3 20 7 13 25 26 29 31 17 23 8 18 12 24 25 30 31 32 17 20 15 22 9 18
output:
1 3
result:
ok 2 number(s): "1 3"
Test #8:
score: 0
Accepted
time: 0ms
memory: 14096kb
input:
33 35 10 13 6 13 9 19 5 15 29 31 2 3 4 16 3 20 7 13 31 32 12 24 2 22 17 23 26 27 17 20 16 25 3 12 28 29 1 8 12 18 27 28 14 21 10 19 25 26 5 14 15 16 9 18 4 23 25 30 1 10 8 18 7 24 29 30 6 21 15 22
output:
1
result:
ok 1 number(s): "1"
Test #9:
score: 0
Accepted
time: 2ms
memory: 14204kb
input:
2000 2000 1036 1254 1453 1496 342 1815 186 346 840 1555 138 1503 416 1376 660 1253 1279 1799 209 1554 624 1278 792 884 333 1703 393 894 551 1192 1705 1805 302 930 115 1384 151 1156 71 209 82 1637 858 1854 19 1798 348 703 1692 1744 261 1029 143 1631 336 1227 1493 1564 493 1966 553 1587 953 1128 214 1...
output:
1 2 4 5 8 10 16 20 25 40 50 80 100 125 200 250 400 500 1000 2000
result:
ok 20 numbers
Test #10:
score: 0
Accepted
time: 2ms
memory: 12028kb
input:
1820 1872 677 1254 114 163 1751 1815 532 1640 290 380 253 1429 174 1163 1005 1431 521 1324 37 1553 369 1764 658 1170 1456 1574 224 663 752 1460 128 441 831 1013 730 1583 500 983 374 1274 1394 1478 422 1223 1310 1632 1133 1508 914 1258 151 907 221 233 549 1374 342 895 1591 1699 1041 1273 231 747 1419...
output:
1 2 3 6 9 18
result:
ok 6 numbers
Test #11:
score: 0
Accepted
time: 2ms
memory: 14144kb
input:
1521 1584 1138 1283 95 542 137 1042 1043 1390 147 1396 382 709 651 828 909 1124 286 1485 31 171 925 1254 360 501 900 1229 69 1358 166 199 633 1178 310 1390 679 1482 844 1333 761 1208 38 1512 449 875 13 1467 77 217 622 736 45 1163 365 1346 106 1084 494 832 465 930 283 771 704 1468 375 870 82 1336 113...
output:
1 2 3 4 6 12
result:
ok 6 numbers
Test #12:
score: 0
Accepted
time: 2ms
memory: 14060kb
input:
1433 1467 43 1268 90 1143 237 271 444 1375 232 1407 1026 1139 861 943 981 1003 77 1229 416 966 606 1370 351 438 687 1379 1030 1186 1373 1428 715 762 553 1426 238 1012 120 618 345 857 827 1118 548 1085 245 333 82 910 202 570 80 781 666 797 122 1022 75 989 674 881 298 1139 160 584 801 1085 607 715 751...
output:
1 3 9
result:
ok 3 number(s): "1 3 9"
Test #13:
score: 0
Accepted
time: 0ms
memory: 12048kb
input:
1569 1625 1043 1553 57 369 481 1231 99 227 113 262 239 354 175 887 819 1230 27 115 76 820 1086 1498 482 1193 1299 1447 570 604 121 508 100 208 77 572 52 1296 198 639 103 945 256 381 745 1173 1033 1350 13 1414 233 1399 402 1417 1394 1441 206 623 264 482 1155 1336 1176 1433 50 1066 542 850 666 1508 80...
output:
1 5
result:
ok 2 number(s): "1 5"
Test #14:
score: 0
Accepted
time: 2ms
memory: 14176kb
input:
1035 1072 448 654 201 211 139 650 224 255 430 883 494 517 199 999 717 763 661 813 145 574 68 908 626 990 7 805 54 875 600 968 279 462 335 543 266 665 598 676 177 447 790 1034 273 909 475 814 464 973 210 560 290 905 650 708 288 994 10 183 261 564 492 967 273 300 481 735 184 1013 123 911 536 550 460 5...
output:
1 2 4 8
result:
ok 4 number(s): "1 2 4 8"
Test #15:
score: 0
Accepted
time: 0ms
memory: 14028kb
input:
162 198 41 83 15 121 29 76 62 75 78 114 58 80 5 75 85 119 45 137 3 56 149 156 46 63 79 107 125 150 33 78 43 149 27 87 20 33 13 136 60 90 60 110 30 97 102 152 25 31 6 79 24 67 16 78 68 115 77 78 103 124 117 161 117 139 55 67 19 146 45 112 26 104 45 49 108 144 145 154 130 134 13 111 57 78 35 159 4 65 ...
output:
1 3
result:
ok 2 number(s): "1 3"
Test #16:
score: 0
Accepted
time: 0ms
memory: 14100kb
input:
1894 1932 384 1664 1204 1508 733 1583 818 1515 879 1799 197 1165 657 919 559 1893 241 1104 347 1283 516 916 179 1041 305 477 1116 1135 1254 1561 280 742 269 975 34 862 1033 1659 74 382 307 1600 99 1553 1298 1565 955 1579 308 478 947 1595 1686 1793 190 1836 878 1260 732 1498 889 1570 436 1723 393 100...
output:
1 7
result:
ok 2 number(s): "1 7"
Test #17:
score: 0
Accepted
time: 2ms
memory: 14088kb
input:
63 1953 24 25 30 53 16 28 20 36 34 51 33 52 3 11 9 35 28 52 52 54 22 51 33 46 2 45 35 43 4 48 4 35 2 7 26 59 21 35 21 43 9 58 37 63 7 26 17 32 7 11 34 56 6 54 18 62 33 44 15 52 50 53 17 46 12 42 9 31 9 11 35 47 1 13 21 42 26 43 2 24 27 35 5 39 6 9 1 51 16 46 6 62 18 34 59 63 22 62 22 53 14 39 49 55 ...
output:
1
result:
ok 1 number(s): "1"
Test #18:
score: 0
Accepted
time: 0ms
memory: 14084kb
input:
89 1939 29 62 14 25 5 60 24 26 1 8 3 68 47 85 41 81 47 55 22 75 20 37 42 87 46 53 48 55 54 72 61 66 7 43 70 74 63 89 29 51 21 56 18 49 20 31 14 34 22 85 75 86 52 68 12 32 44 55 41 42 37 82 36 82 5 67 52 74 5 18 35 40 14 60 11 14 7 10 46 82 7 60 40 62 18 29 71 72 82 88 21 63 15 59 15 16 23 81 11 87 2...
output:
1
result:
ok 1 number(s): "1"
Test #19:
score: 0
Accepted
time: 0ms
memory: 14020kb
input:
409 1944 69 134 162 172 50 327 3 17 152 256 19 302 246 371 289 394 228 376 210 270 318 336 352 405 171 324 21 398 70 236 68 349 316 344 84 386 223 344 125 223 293 327 88 253 39 165 151 395 201 322 68 403 336 383 215 256 73 138 5 399 260 268 189 272 13 248 145 154 62 304 115 376 34 399 262 347 317 39...
output:
1
result:
ok 1 number(s): "1"
Test #20:
score: 0
Accepted
time: 2ms
memory: 12032kb
input:
509 1828 245 248 384 386 127 261 260 480 437 466 127 382 158 476 482 498 241 375 159 216 232 408 74 270 32 293 126 249 59 445 146 291 129 234 81 164 243 437 258 262 229 320 126 185 118 423 221 488 185 204 220 227 96 472 112 149 106 432 46 100 399 494 38 306 174 290 76 497 20 396 33 66 102 325 60 417...
output:
1
result:
ok 1 number(s): "1"
Test #21:
score: 0
Accepted
time: 2ms
memory: 14268kb
input:
2000 1999 1552 1932 553 1152 1006 1967 606 1381 1549 1775 1283 1992 994 1000 367 1864 1047 1989 475 1284 1033 1688 827 1786 746 1018 651 756 73 1178 307 539 114 1924 653 667 693 1087 222 1656 241 1841 165 1725 433 476 66 1099 169 1490 609 1257 506 1108 691 1513 1111 1683 1044 1811 1107 1885 839 886 ...
output:
1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 30 32 36 40 45 48 60 72 80 90 96 120 144 160 180 240 288 360 480 720 1440
result:
ok 36 numbers
Test #22:
score: -100
Wrong Answer
time: 2ms
memory: 13968kb
input:
1302 1302 893 1045 149 798 202 1034 252 789 269 920 915 989 96 496 1142 1302 647 868 54 1127 161 704 128 1294 51 718 325 825 423 798 344 809 504 1070 548 756 276 1116 8 41 782 1294 602 685 137 976 315 1028 75 562 36 1208 20 302 383 1080 62 392 167 1022 7 126 452 595 791 1182 57 1061 295 842 457 1276...
output:
1 2 3 4 5 6 7 10 12 14 15 20 21 28 30 35 42 60 70 84 105 140 210 420
result:
wrong answer 4th numbers differ - expected: '6', found: '4'