统计 【CSP2020-S2 江苏迷惑行为大赏】

囧仙

2020-11-09 11:14:50

Personal

## 前言 - 这里主要统计了一些 $\text{CSP2020-S2}$ 江苏省的程序。使用了[这里的](https://www.luogu.com.cn/blog/over-knee-socks/csp2020-caculate) 程序整合代码。 - 这里使用的是江苏省公示的代码。为了选手隐私,这里只使用选手编号。 ## 正文 ### $\verb!Part O!$ 编译错误 统计信息: - $\verb!Windows!$ 本地编译错误的代码有 $73$ 个。 - 成功编译的代码有 $2529$ 个。 - 未找到源文件的有 $343$ 个。 让我们康康有哪些申必的编译错误吧。 - $1. \verb! next!$ 变量问题。 - 不知道这个在 $\verb!NOI Linux!$ 上会不会挂掉,但我本地的确是挂了()这次挂了不少人呢。 - $2.$ 迭代器减法申必人。 ```cpp ===== Successfully open the file answers\JS-00007\julian\julian.cpp.The size of it is 7.094 KB. ... int min_a() { return mp.begin()->first; } int max_a() { return (mp.end()-1)->first; } int second_max_a() { return (mp.end()-2)->first; } int second_min_a() { return (mp.begin()+1)->first; } ... ``` 这份代码无论是本机还是洛谷云端都发生了编译错误()可见迭代器害人不浅。 - $3.$ 函 数 忘 写 返 回 值 人。 ```cpp ===== Successfully open the file answers\JS-00008\zoo\zoo.cpp.The size of it is 0.604 KB. #include <bits/stdc++.h> using namespace std; int n,m,c,k; int id[1000005]; int p[1000005],q[1000005]; set<int> s; int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); cin >> n >> m >> c >> k; if(n == 2 && m == 2 && c == 4 && k == 3){ cout << 2 << endl; return ; //兄弟,你的返回值呢。 } if(n == 3 && m == 3 && c == 5 && k == 4){ cout << 13 << endl; return ; } if(n == 18 && m == 240 && c == 48543975 && k == 30){ cout << 2097134 << endl; return 0; } for(int i = 1;i <= n;i ++){ cin >> id[i]; } for(int i = 1;i <= m;i ++){ cin >> p[i] >> q[i]; } cout << n << endl; return 0; } ``` 可见这位兄弟打表后忘了编译( - $4.$ 来 不 及 写 代 码 人。 ```cpp ===== Successfully open the file answers\JS-00009\julian\julian.cpp.The size of it is 0.435 KB. #include <bits/stdc++.h> using namespace std; bool if_rn(int n){ if((n-1)%4==0){ return true; } return false; } bool if_ru(int n){ if(n%400==0){ return true; } if(n%100==0){ return false; } if(n%4==0){ return true; } return false; } int main() { freopen("rulian.in","r",stdin); freopen("rulian.out","w",stdout); int n; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; if(x==10){ cout } } return 0; } ``` 看来他被第一题逼疯了(悲)甚至写错了文件名。 - $5.$ 变 量 重 名 人。 ```cpp ===== Successfully open the file answers\JS-00043\snakes\snakes.cpp.The size of it is 0.622 KB. #include<bits/stdc++.h> using namespace std; #define ll long long//long long int a[100],b[1100],n,T,k; int main() { ... { scanf("%d",&k); int b,c; for(int i=1;i<=n;i++) a[i]=b[i]; //兄弟,你重新定义了个b for(int i=1;i<=k;i++) { cin>>c>>b; a[c]=b; } } ... return 0; } ``` - $6.$ 函 数 不 传 参 人。 ```cpp ===== Successfully open the file answers\JS-00085\snakes\snakes.cpp.The size of it is 0.743 KB. #include<bits/stdc++.h> using namespace std; int T; int n,snake; int sn[100001]; bool dfs(int mx,int ma,int mi){ ... } int main(){ freopen("snakes.in","r",stdin); freopen("snakes.out","w",stdout); scanf("%d",&T); scanf("%d",&n); snake=n; for(int i1=1;i1<=n;i1++){ scanf("%d",&sn[i]); dfs(); } ... fclose(stdin); fclose(stdout); return 0; } ``` - $7.$ 慌 不 择 路 人。 ```cpp ===== Successfully open the file answers\JS-00089\julian\julian.cpp.The size of it is 0.279 KB. #include<bits/stdc++.h> using namespace std; int main{ freopen("julian.in","r",stdin); freopen("julian.out","w",stdout); int q; cin>>q; string r[q],s[q]; for(int i=1;i<=q;i++) int y,m,d; cin>>r[i]; if(r[i]==0) y=4713; m=1; d=1; s[i]=(y,m,d); return 0; } ``` 他试图把三个整数以三元组的形式传到字符串数组里,属实申必。 - $8.$ 函 数 不 加 括 号 人。 ```cpp ===== Successfully open the file answers\JS-00093\snakes\snakes.cpp.The size of it is 0.789 KB. ... int main() { freopen("snakes.in","r",stdin); freopen("snakes.out","w",stdout); t=read();n=read(); while(t--) { if(t==1)for(register int i=1;i<=n;++i)a[i]=read(); else{int k=read;while(k--)a[read()]=read();} //他试图把函数地址传入整型里。 ... } return 0; } ``` 慌不择路想要骗分 $20$ 失败(悲) - $9.$ 手 滑 人。 ```cpp ===== Successfully open the file answers\JS-00117\call\call.cpp.The size of it is 1.323 KB. ... int main() { freopen("call.in","r",stdin);l freopen("call.out","w",stdout); s1(n); for(int i=1;i<=n;i++) { s1(a[i]); } ... ``` 他手滑碰到了 $\verb!l!$ ,悲惨爆零() - $10.$ 声 明 变 量 不 加 分 号 人。 ```cpp ===== Successfully open the file answers\JS-00118\call\call.cpp.The size of it is 1.351 KB. ... int main(){ freopen("call.in","r",stdin); freopen("call.out","w",stdout); ... for(int i=1;i<=m;i++){ scanf("%d",&t[i]); if(t[i]==1) { int p,long long v; scanf("%d%lld",&p,&v); // update(1,1,n,p,p,v); } } ... } ``` - $11.$ 无 中 生 有 人。 ```cpp ===== Successfully open the file answers\JS-00120\call\call.cpp.The size of it is 0.694 KB. ... for(int i=1;i<=C;i++) { ... if(b[i]==3) { int r; cin>>r; for(int j=1;j<=r;j++) { cin>>e; } } } ... ``` (他压根没有声明变量 $e$ ,~~迷之读入了一个自然常数~~) - $12.$ 偶 尔 陪 你 人。 ```cpp #include<bits/stdc++.h> using namespace std; int t,n,k,a[100000008],w,ans; int main() { freopen("zoo.in","r",stdin); freoepn("zoo.out","w",stdout); cout<<13; return 0; } ``` - $13.$ 虚 空 常 数 人。 ```cpp ===== Successfully open the file answers\JS-00164\call\call.cpp.The size of it is 0.552 KB. ... #define LL long long const int MA=; int hea[MA],tai[MA],edg[MA],nex[MA];//dian,wei; dian,wei; wei,dian; wei,wei; ... ``` - $14.$ 虚 空 循 环 人。 ```cpp ===== Successfully open the file answers\JS-00219\call\call.cpp.The size of it is 0.542 KB. ... int main(){ ... int m; cin>>m; for(int i=0;<m;i++){cin>>tj;ys(tj); } } ``` - $15.$ 拼 错 变 量 & 忘 写 宏 定 义 人。 ```cpp ===== Successfully open the file answers\JS-00232\call\call.cpp.The size of it is 0.951 KB. ... int cnt,ve1=-1,ve2=-1,ve3=-1; ... if(T==2){ cin>>J; b[++v2]=J; //应该是ve2罢 ... } .... a[q[zx[f].z].fir].add+=q[zx[f].z].sec; //根本没有宏定义 fir 和 sec ... } ``` - $16.$ 变 量 重 名 人 (其二)。 ```cpp ===== Successfully open the file answers\JS-00292\julian\julian.cpp.The size of it is 0.429 KB. ... int t[]={146097,36524,1461,365},t,n,val[]={400,100,25,1}; //两个t int main(){ ... return 0; } ``` - $17.$ 大 小 写 不 分 人。 ```cpp ... int main(){ int n, tl,qz; ... int T; cin >> T; t--; //大写呢 ... ``` - $18.$ 强 制 类 型 转 换 受 害 者 人。 ```cpp ===== Successfully open the file answers\JS-00314\julian\julian.cpp.The size of it is 1.003 KB. ... long long d,m,y; ... int dinm(int &m,int &y) { ... } void add(int &d,int &m,int &y,int tm) { ... } int main() { ... for(int i=0;i<q;i++) { ... add(d,m,y,-1); ... add(d,m,y,0); ... add(d,m,y,1); ... } return 0; } ``` 注意: $\verb!long long!$ 强制转换为 $\verb!int!$ 会产生临时变量,而临时变量不能作为引用变量。 - $19.$ 无 中 生 有 人 (其二)。 ```cpp ===== Successfully open the file answers\JS-00314\zoo\zoo.cpp.The size of it is 0.417 KB. ... int n,m,c,k,a[1000003],p[1000003],q[1000003],i,r; long long m1,m2; int main() { ... if((1<<i)&m1)++res; ... return 0; } ``` $\verb!How are you?!$ - $20.$ 数 组 太 大 连 编 译 器 都 看 不 下 去 人。 ```cpp ... int n,m,q,a[100003],t[100003],f[100003][1000003],fi[100003],i; ... ``` 他可能需要一个 $100\text{GB}$ 大小的运行内存。 顺便, $\verb!How old are you?!$ (这位兄弟整整 $\verb!CE!$ 了三题,太惨了)。 - $21.$ 无 中 生 有 人 (其三) ```cpp ===== Successfully open the file answers\JS-00331\call\call.cpp.The size of it is 0.190 KB. #include<bits/stdc++.h> using namespace std; int main() { freopen("call.in","r",stdin); freopen("call.out","w",stdout); cin>>n; //n事哪来的 for(int i=1;i<=n;i++) { cout<<i<<endl; } return 0; } ``` - $22.$ 忘 加 下 标 人。 ```cpp ===== Successfully open the file answers\JS-00337\call\call.cpp.The size of it is 0.689 KB. ... int a[100001],T[100001],S[100001][1],v[100001],c[100001],g[100001][101],f[100001]; int main(){ ... cin>>c[i]; for(int j=1;j<=c;j++) //??? cin>>g[i][j]; } ... return 0; } ``` - $23.$ 忘 加 下 标 人 (其二) & 变量重名人(其三)。 ```cpp ... map <long long,long long> mp; map <long long,long long> aaa; vector<int>v[100000]; ... int main() { ... for(register int i=1;i<=n;i++) { scanf("%lld",&a[i]); ///a是哪来的 tot=tot|a[i]; } ... v.push_back(e[i].p); ... return 0; } ``` - $24.$ 定 义 错 误 人。 ```cpp #include <bits/stdc++.h> using namespace std; ifstream fin("zoo.in"); ofstream fout("zoo.out"); #define cin fin #define cout fout #define endl '\n' ... int main() { ... cin.tie(NULL), cout.tie(NULL); ... return 0; } ``` 注意: $\verb!ifstream&ofstream!$ 只能在主程序中定义。 - 为了节省纸面,这里就不放出更多变量未定义人的代码了。 - $25.$ n n 人 & 不输入 m 人。 ```cpp ===== Successfully open the file answers\JS-00398\call\call.cpp.The size of it is 0.460 KB. ... int n,n,o,x,y,a[N]; ... int main(){ freopen("call.in","r",stdin); freopen("call.out","w",stdout); cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=m;i++){ cin>>o>>x; if(o==1){ cin>>y; a[x]=(a[x]+y)%MOD; }else if(o==2){ for(int j=1;j<=n;j++)a[j]=(a[j]*x)%MOD; } } for(int i=1;i<=n;i++)cout<<a[i]%MOD; return 0; } ``` - $26.$ 不 写 分 号 人。 ```cpp ... int main() { ... for (int i = 0; i < k i++) ... ``` - $27.$ 错 位 人。 ```cpp ... struct snake{ int val = 0, pre, next, id; bool operator < (snake b){ return val < b.val || val == b.val && id < b.id; } }a[N]; ... a[a[bst.pre]].next = 0; //应该是 a[a[bst].pre].next; ... ``` - $28.$ 不 填 模 板 人。 ```cpp ===== Successfully open the file answers\JS-00443\zoo\zoo.cpp.The size of it is 0.882 KB. // #include <bits/stdc++.h> using namespace std; struct BigInt{ string s; BigInt Add(BigInt& other){ } }; struct Node{ int to; int val; Node(){} Node(int t,int v):to(t),val(v){} bool operator < (Node &other){ return this->val>other.val; } }; vector<Node> Vec[maxn]; void bfs(...){ queue<Node> Q; Q.push(...); while(!Q.empty()){ Node cur=Q.front(); Q.pop(); ... } } void dfs(...){ if(...){ return ; } dfs(...); } int Vmin(int a){ int ans=0; priority_queue<Node> Q; for(int i=0; i<Vec[a].size(); i++){ Q.push(Vec[a][i]); } while(!Q.empty()){ Node cur=Q.top(); Q.pop(); if(used[cur.to])continue; ans+=cur.val; for(int i=0; i<Vec[cur.to].size(); i++){ if(!used[Vec[cur.to][i].to])Q.push(Vec[cur][i]); } } return ans; } int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); return 0; } ``` (顺带一提,他还有两个程序也是交了没填完的模板) - $29.$ 不 加 分 号 人。 ```cpp ===== Successfully open the file answers\JS-00453\snakes\snakes.cpp.The size of it is 1.203 KB. ... if(n>=2000 && n<=10000) printf("1209\n1203\n1227\n1233\n1249\n1235\n1221\n1241\n1231\n1251\n"); else if(n>=50000) printf("30857\n30801\n30771\n30965\n30881\n30985\n30733\n30879\n30815\n30859\n") //兄嘚你分号呢 fclose(stdin); fclose(stdout); return 0; } ``` - $30.$ 单 复 数 不 分 人。 ```cpp ... int n; int snakes[1000002]; int deltas[1000002]; bool check(int n) { stack<int> st; st.push(1); int now = n; while (n > 0) { now ++; n --; if (delta[now] < delta[n - 1]) { //deltas 便乘了delta return false; } } return true; } ... ``` - $31.$ 循 环 就 写 一 半 人。 ```cpp ===== Successfully open the file answers\JS-00558\call\call.cpp.The size of it is 1.576 KB. ... int main() { ... for (int i = 0;i < son) //??? #ifdef TIME cerr << (double)(clock() - start_time) / CLOCKS_PER_SEC << "s\n"; #endif return 0; } ``` - $32.$ m a i n( 人 ```cpp ===== Successfully open the file answers\JS-00570\call\call.cpp.The size of it is 0.192 KB. #include<bits/stdc++.h> using namespace std; int main ( { freopen("r","call.in",stdin); freopen("w","call.out",stdout); printf("36 282 108 144 180 216 504 288 324 360") ; return 0; } ``` ### $\verb!Part A!$ 码农 ```cpp rank= 728,ID= 504,total size= 991.820 KB. The size of julian is 0.918 KB. The size of zoo is 0.653 KB. The size of call is 989.369 KB. The size of snakes is 0.880 KB. rank= 729,ID= 683,total size= 992.584 KB. The size of julian is 1.012 KB. The size of zoo is 0.792 KB. The size of call is 990.130 KB. The size of snakes is 0.650 KB. rank= 730,ID= 517,total size= 992.741 KB. The size of julian is 2.375 KB. The size of zoo is 0.413 KB. The size of call is 989.306 KB. The size of snakes is 0.647 KB. rank= 731,ID= 420,total size= 993.117 KB. The size of julian is 1.072 KB. The size of zoo is 1.463 KB. The size of call is 989.002 KB. The size of snakes is 1.580 KB. rank= 732,ID= 478,total size= 993.371 KB. The size of julian is 2.798 KB. The size of zoo is 0.492 KB. The size of call is 989.380 KB. The size of snakes is 0.701 KB. rank= 733,ID= 133,total size= 993.627 KB. The size of julian is 1.446 KB. The size of zoo is 0.882 KB. The size of call is 989.418 KB. The size of snakes is 1.881 KB. rank= 734,ID= 51,total size= 993.768 KB. The size of julian is 1.462 KB. The size of zoo is 1.786 KB. The size of call is 989.017 KB. The size of snakes is 1.503 KB. rank= 735,ID= 244,total size= 993.821 KB. The size of julian is 1.677 KB. The size of zoo is 1.013 KB. The size of call is 990.024 KB. The size of snakes is 1.107 KB. rank= 736,ID= 614,total size=4245.437 KB. The size of julian is 4243.492 KB. The size of zoo is 0.324 KB. The size of call is 1.359 KB. The size of snakes is 0.262 KB. ``` 这里统计了码量超过 $100\text{KB}$ 的神仙选手的代码。可以发现, $614$ 号选手的打表能力超强,他第一题写了 $4000+ \text{KB}$ ,稳居第一。让我们看看他的代码。 ``` //JS-00614\julian\julian.cpp #include<bits/stdc++.h> using namespace std; #define re register long long r; int qtrewq; bool pd1(int CaoNiMaDe){return CaoNiMaDe%4==0;} int main(){ freopen("julian.in","r",stdin); freopen("julian.out","w",stdout); scanf("%d",&qtrewq); for(re int i=1;i<=qtrewq;++i){ scanf("%lld",&r); if(r==958153104)cout<<"12 2618621 7"<<endl;if(r==543525290)cout<<"8 1483409 31"<<endl;if(r==283727928)cout<<"7 772108 4"<<endl;if(r==453712156)cout<<"8 1237509 19"<<endl;if(r==839849342)cout<<"4 2294717 5"<<endl;if(r==495385262)cout<<"9 1351606 8"<<endl;if(r==921900969)cout<<"1 2519367 24"<<endl;if(r==264237516)cout<<"8 718745 31"<<endl;if(r==303022898)cout<<"5 824936 25"<<endl;if(r==128444252)cout<<"4 346956 6"<<endl;if(r==115402429)cout<<"1 311249 30"<<endl;if(r==967947203)cout<<"4 2645437 1"<<endl;if(r==154059721)cout<<"2 417089 28"<<endl;if(r==30375670)cout<<"8 78453 2"<<endl;if(r==567812207)cout<<"12 1549904 16"<<endl;if(r==521810721)cout<<"2 1423957 20"<<endl;if(r==460742207)cout<<"3 1256757 12"<<endl;if(r==79345573)cout<<"9 212528 22"<<endl;if(r==277356752)cout<<"11 754664 28"<<endl;if(r==888954562)cout<<"10 2429162 25"<<endl;if(r==304911106)cout<<"2 830106 4"<<endl;if(r==309630442)cout<<"4 843027 23"<<endl;if(r==938297389)cout<<"11 2564258 5"<<endl;if(r==870367288)cout<<"8 2378272 11"<<endl;if(r==51787568)cout<<"6 137077 7"<<endl;if(r==135928447)cout<<"5 367447 6"<<endl;if(r==922174624)cout<<"4 2520116 22"<<endl;if(r==813192852)cout<<"4 2221734 9"<<endl;if(r==402440118)cout<<"7 1097131 12"<<endl;if(r==882033870)cout<<"8 2410214 11"<<endl;if(r==793774359)cout<<"4 2168568 18"<<endl;if(r==915026416)cout<<"2 2500545 12"<<endl;if(r==485550780)cout<<"10 1324680 25"<<endl;if(r==529297591)cout<<"6 1444455 4"<<endl;if(r==362116369)cout<<"11 986728 29"<<endl;if(r==100276571)cout<<"10 269835 22"<<endl;if(r==784448024)cout<<"8 2143033 18"<<endl;if(r==27501506)cout<<"6 70584 26"<<endl;if(r==955118512)cout<<"7 2610313 28"<<endl;if(r==380019089)cout<<"10 1035744 20"<<endl;if(r==971236051)cout<<"11 2654441 2"<<endl;if(r==734822474)cout<<"7 2007163 21"<<endl;if(r==604275025)cout<<"9 1649736 9"... ``` (过多部分已经隐去) 我们能发现,这个选手对出题人表示了极大的不满( > `bool pd1(int CaoNiMaDe){return CaoNiMaDe%4==0;}` ```cpp //JS-00614\snakes\snakes.cpp #include<bits/stdC++.h>//不用看了, 是打表 using namespace std; int t,a; int main(){ freopen("snakes.in","r",stdin); freopen("snakes.out","w",stdout); cin>>a>>t; if(t==3)cout<<3<<endl<<1; if(t==5)cout<<t<<endl<<3; return 0; } ``` ```cpp //JS-00614\zoo\zoo.cpp #include<bits/stdC++.h> using namespace std; int n,m,c,k,f; int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); cin>>n>>m>>c>>k; for(int i=1;i<=n;++i)cin>>f; for(int i=1;i<=m;++i)cin>>f>>f; if(n==3)cout<<13; if(n==2)cout<<2; if(n==18)cout<<2097134; if(n!=3&&n!=2&&n!=18)cout<<n*33; return 0; } ``` 可见这个选手在打表的路上越走越远( 我们发现,还有一些选手 $T3$ 写了 $900+ \text{KB}$ 。让我们看看他们的第三题是怎么写的。 ```cpp #include <bits/stdc++.h> #define int long long using namespace std; signed main( ) { freopen("call.in","r",stdin); freopen("call.out","w",stdout); cin.tie(0); cout.tie(0); int n; cin>>n; if(n==3) { cout<<"6 8 12"; } else if(n==10) { cout<<"36 282 108 144 180 216 504 288 324 360"<<endl; } else { cout<<"384559830 823662041 763850062 852621623 66990587 247986265 517838371 409023205 513307713 266024081 301348571 66990587 996972412 494409834 625834924 514216285 769317337 49122403 140036613 844590053 242595544 419436135 468510029 190880750 835201675 797405917 860725909 870405042 535500616 41054475 915117910 907171105 551515349 126034369 349768341 970660729 529407262 90777038 793287137 504621968 11241829 564489506 816836797 704806280 7825682 445990064 768707782 211305018 705545220 321360961 654327120 798968613 561400421 411610453 389211611 422973405 148988029 358660025 658412846 341288535 781100429 315594669 335110365 566052202 720905829 350386158 228470569 900544771 767387332 730209391 287599167 274297948 20424268 563665750 195617347 403251770 649756455 491199626 933070910 597221605 397570294 75349270 670959670 874317883 699330743 685411707 500709127 160002102 888358042 131921784 611673642 132866663 554071433 293280643 855747066 934306544 495730284 149995907 273970886 37592262 696447597 329634828 59043782 714606536 542296603 885268957 58014087 849362957 131836968 98075174 554192556 463446370 718857302 619947509 706270419 54064939 632013094 68638099 503113134 347708951 461059918 55094634 194793591 970987791 106021979 354415582 138099954 41381537 113968784 225878178 749313209 603230143 599280995 362451743 136246503 236417374 211794914 292578010 62544745 507916992 195823286 344825805 448788394 665363010 309089437 500176126 364923011 553247677 872876310 491252421 458673466 49740220 220693396 72345001 990673119 294104399 732268781 408131719 988098464 617682180 254164435 737950257 445784125 181989066 726381366 682116683 381143683 283807449 195213266 150201846 234769862 839114516 171655809 398066988 606593506 528641206 981470861 931217459 813626589 608172679 915202726 716496294 399835623 67899159 78353539 856364883 907049982 557281641 765327942 806830602 252928801 500091310 284425266 252105045 344498743 628718070 771421296 457231893 425117611 531462130 559135092 908079677 331900157 13834220 418321624 679524292 3585779 432567722 484488455 662067986 7774443 978316779 633248728 985359892 445578186 501738822 935506851 413790966 883742568 564610629 82472319 503095579 53653061 269149473 471066113 518250249 16966332 590837496 192613078 517547616 122412283 929364008 733916293 821211659 90831002 318065937 421943710 475427139 560285910 17541122 762941490 242510728 201214007 330337461 157118956 440514527 574943886 348326768 481932371 757587076 778629161 493792017 0 569056471 374759574 791021808 411772811 879708604 186846786 808066236 278537851 ... ``` (代码过长,进行了删减) 可以发现,他们的第三题直接输出了大样例。他们的勇气可圈可点( 可惜我这里要提醒他们,超过 $100 \text{KB}$ 的代码可是不能参加评测的。默哀.jpg。 ``` rank= 727,ID= 262,total size= 56.997 KB. The size of julian is 56.481 KB. The size of zoo is 0.152 KB. The size of call is 0.000 KB. The size of snakes is 0.364 KB. ``` 还有些选手写了非常长的代码,让我们看看他写了什么。 ``` #include<bits/stdc++.h> using namespace std; int dp=1721424; int dy=577825; int bz[4714]={0,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,365,365,365,366,... ``` 这位选手把公元 $4714$ 年的年份天数全都打表打了出来…… ``` #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int bc[5000] = {0,366,731,1096,1461,1827,2192,2557,2922,3288,3653,4018,4383,4749,5114,5479,5844,6210,6575,6940,7305,7671,8036,8401,8766,9132,9497,9862,10227,10593,10958,11323,11688,12054,12419,12784,13149,13515,13880,14245,14610,14976,15341,15706,16071,16437,16802,17167,17532,17898,18263,18628,18993,19359,19724,20089,20454,20820,21185,21550,21915,22281,22646,23011,23376,23742,24107,24472,24837,25203,25568,25933,26298,26664,27029,27394,27759,28125,28490,28855,29220,29586,29951,30316,30681,31047,31412,31777,32142,32508,32873,33238,33603,33969,34334,34699,35064,35430,35795,36160,36525,36891,37256,37621,37986,38352,38717,39082,39447,39813,40178,40543,40908,41274,41639,42004,42369,42735,43100,43465,43830,44196,44561,44926,45291,45657,46022,46387,46752,47118,47483,47848,48213,48579,48944,49309,49674,50040,50405,50770,51135,51501,51866,52231,52596,52962,53327,53692,54057,54423,54788,55153,55518,55884,56249,56614,56979,57345,57710,58075,58440,58806,59171,59536,59901,60267,60632,60997,61362,61728,62093,62458,62823,63189,63554,63919,64284,64650,65015,65380,65745,66111,66476,66841,67206,67572,67937,68302,68667,69033,69398,69763,70128,70494,70859,71224,71589,71955,72320,72685,73050,73416,73781,74146,74511,74877,75242,75607,75972,76338,76703,77068,77433,77799,78164,78529,78894,79260,79625,79990,80355,80721,81086,81451,81816,82182,82547,82912,83277,83643,84008,84373,84738,85104,85469,85834,86199,86565,86930,87295,87660,88026,88391,88756,89121,89487,89852,90217,90582,90948,91313,... ``` 这位选手对年份求了个前缀和。 大概这部分 $30\text{KB}$ 都写的是第一题的申必打表……但还有些选手,写了 $10+\text{KB}$ 的代码,让我们观摩观摩。 ``` ===== The file answers\JS-00508\julian\julian.cpp is too big!The size of it is 18.495 KB. # include<bits/stdc++.h> using namespace std; # define ll long long ll read(){ ll s=0,w=1; char ch=getchar(); while (ch<'0' || ch>'9'){ if (ch=='-'){ w=-1; } ch=getchar(); } while (ch>='0' && ch<='9'){ s=s*10+ch-'0'; ch=getchar(); } return s*w; } int main(){ freopen("julian.in","r",stdin); freopen("julian.out","w",stdout); //1178 //1461 //36524 //146095 // cout<<((365*4+1)*25-1)*4-1; // if () int q=read(); while(q--){ int m=read(),n=-4714,y=1,r=1; if (m<=2299160){ n=n+m/1461*4+1; m=m%1461; // cout<<m<<' '<<n<<endl; if (m>365*3){ n+=3; m=m-365*3-1; } else if (m>365*2){ n+=2; m=m-365*2-1; } else if (m>365){ n+=1; m=m-365-1; } else{ if (m>30){ y=2; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>28){ y=3; m-=29; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>29){ r%=29; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=4; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=5; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=6; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=7; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=8; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=9; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=10; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=11; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ if (n==1581){ if (r<=4) cout<<r<<' '<<y<<' '<<n+1<<endl; continue; } r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=12; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y=1; n++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=2; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>27){ y=3; m-=28; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>28){ r%=28; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=4; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=5; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=6; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=7; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=8; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=9; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=10; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>30){ y=11; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ if (n==1581){ if (r<=4){ cout<<r<<' '<<y<<' '<<n+1<<endl; continue; } } r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } if (m>29){ y=12; m-=30; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>30){ r%=30; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; } r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y=1; n++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } continue; // } } else{ m-=2299160; n=1581; n=n+m/146095*400; // COUT<<N<<ENDL; // cout<<n<<endl; while (m){ if (((n+1)%4==0 && (n+1)%100!=0) || ((n+1)%400==0)){ if (m>365){ m-=366; n++; continue; } else{ if (m>30){ y=2; m-=31; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>31){ r%=31; y++; } cout<<r<<' '<<y<<' '<<' '<<n+1<<endl; } break; } if (m>28){ y=3; m-=29; } else{ r+=m; if (n<0){ cout<<r<<' '<<y<<' '<<-n<<" BC"<<endl; } else if (n<=1581) cout<<r<<' '<<y<<' '<<n+1<<endl; else{ r+=10; if (r>29){ r%=29; y++; ... ========== ``` 这位选手的码力真是让人可圈可点。他第一题写了 $18 \text{KB}$ ,属实码农。 ``` rank= 704,ID= 428,total size= 10.810 KB. The size of julian is 6.386 KB. The size of zoo is 1.903 KB. The size of call is 0.000 KB. The size of snakes is 2.521 KB. rank= 705,ID= 207,total size= 11.060 KB. The size of julian is 3.520 KB. The size of zoo is 2.170 KB. The size of call is 2.149 KB. The size of snakes is 3.221 KB. rank= 706,ID= 55,total size= 11.257 KB. The size of julian is 3.249 KB. The size of zoo is 1.673 KB. The size of call is 3.239 KB. The size of snakes is 3.096 KB. rank= 707,ID= 661,total size= 11.272 KB. The size of julian is 4.422 KB. The size of zoo is 1.269 KB. The size of call is 3.730 KB. The size of snakes is 1.851 KB. rank= 708,ID= 259,total size= 11.280 KB. The size of julian is 8.219 KB. The size of zoo is 0.386 KB. The size of call is 0.242 KB. The size of snakes is 2.433 KB. rank= 709,ID= 474,total size= 11.448 KB. The size of julian is 4.794 KB. The size of zoo is 2.297 KB. The size of call is 3.387 KB. The size of snakes is 0.970 KB. rank= 710,ID= 69,total size= 11.488 KB. The size of julian is 4.047 KB. The size of zoo is 1.792 KB. The size of call is 3.351 KB. The size of snakes is 2.298 KB. rank= 711,ID= 407,total size= 11.616 KB. The size of julian is 2.452 KB. The size of zoo is 1.126 KB. The size of call is 5.445 KB. The size of snakes is 2.593 KB. rank= 712,ID= 142,total size= 12.030 KB. The size of julian is 3.787 KB. The size of zoo is 3.319 KB. The size of call is 2.093 KB. The size of snakes is 2.831 KB. rank= 713,ID= 689,total size= 12.237 KB. The size of julian is 3.727 KB. The size of zoo is 2.253 KB. The size of call is 4.644 KB. The size of snakes is 1.613 KB. rank= 714,ID= 99,total size= 13.005 KB. The size of julian is 2.303 KB. The size of zoo is 4.816 KB. The size of call is 3.383 KB. The size of snakes is 2.503 KB. rank= 715,ID= 339,total size= 13.718 KB. The size of julian is 12.236 KB. The size of zoo is 0.469 KB. The size of call is 0.465 KB. The size of snakes is 0.548 KB. rank= 716,ID= 79,total size= 13.857 KB. The size of julian is 11.084 KB. The size of zoo is 0.598 KB. The size of call is 1.027 KB. The size of snakes is 1.148 KB. rank= 717,ID= 121,total size= 13.873 KB. The size of julian is 2.863 KB. The size of zoo is 2.468 KB. The size of call is 5.899 KB. The size of snakes is 2.643 KB. rank= 718,ID= 611,total size= 13.925 KB. The size of julian is 8.478 KB. The size of zoo is 1.799 KB. The size of call is 3.084 KB. The size of snakes is 0.564 KB. rank= 719,ID= 609,total size= 14.416 KB. The size of julian is 6.242 KB. The size of zoo is 0.868 KB. The size of call is 4.314 KB. The size of snakes is 2.992 KB. rank= 720,ID= 554,total size= 14.440 KB. The size of julian is 6.186 KB. The size of zoo is 2.563 KB. The size of call is 3.991 KB. The size of snakes is 1.700 KB. rank= 721,ID= 552,total size= 15.111 KB. The size of julian is 3.510 KB. The size of zoo is 3.058 KB. The size of call is 3.519 KB. The size of snakes is 5.024 KB. rank= 722,ID= 97,total size= 15.283 KB. The size of julian is 5.512 KB. The size of zoo is 2.532 KB. The size of call is 4.473 KB. The size of snakes is 2.766 KB. rank= 723,ID= 508,total size= 20.956 KB. The size of julian is 18.495 KB. The size of zoo is 0.000 KB. The size of call is 2.461 KB. The size of snakes is 0.000 KB. ``` 这部分选手主要是第一题写了相当长的代码。可见他们的码力深厚。 --- ### $\verb!Part B!$ 关键字 让我们统计统计选手有没有在注释里整活。 ``` ===== Successfully open the file answers\JS-00121\zoo\zoo.cpp.The size of it is 2.468 KB. #include <bits/stdc++.h> //#include <bits/extc++.h> using namespace std; //using namespace __gnu_pbds; #define ll long long #define pii pair<int,int> #define qi ios::sync_with_stdio(0) /** CSP-S 2020 By XGN from HHS "Please don't forget to OPEN ENOUGH SPACE for arrays" --Ookami "Please don't forget to USE LONG LONG AND *1LL when necessary" --Doragon "Please CHECK GREEDY works and DON'T MISREAD THE STATEMENT" --Ninetail "Please EMPTY THE ARRAYS when doing multiple testcases" --Hikari "Use tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update> t (NOI Linux only) for a STL balance tree" --Rinri "Please DON'T FORGET int(size())-1" --Rinko "Please, try your best! We will be waiting for your victory!" --Hikari */ template<typename T1,typename T2> ostream& operator<<(ostream& os,pair<T1,T2> t){ os<<"{"<<t.first<<","<<t.second<<"}"; return os; } template<typename T> ostream& operator<<(ostream& os,vector<T> t){ os<<"["; for(int i=0;i<t.size();i++){ os<<t[i]<<" "; } os<<"]"; return os; } #define ull unsigned long long int n,m,c,k; //number of animals, number of requests, number of shits, number of bits ull a[1000005]; vector<int> all_v; map<int,int> mp; vector<int> buy[1000005]; bitset<1000005> bought; /* 1LL<<I instead of 1<<I %llu instead of wtf 18446744073709551616 I AM FUCKEDDDDDDDDDDDDDDDDD */ int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); scanf("%d%d%d%d",&n,&m,&c,&k); ull full=0; for(int i=0;i<n;i++){ scanf("%llu",&a[i]); //WTF???????????? F**K U CCF // cout<<a[i]<<endl; full|=a[i]; } for(int i=0;i<m;i++){ int x,y; scanf("%d%d",&x,&y); buy[x].push_back(y); all_v.push_back(y); } sort(all_v.begin(),all_v.end()); all_v.erase(unique(all_v.begin(),all_v.end()),all_v.end()); for(int i=0;i<all_v.size();i++){ mp[all_v[i]]=i; } for(int i=0;i<k;i++){ for(int j=0;j<buy[i].size();j++){ buy[i][j]=mp[buy[i][j]]; } } for(int i=0;i<k;i++){ if(full&(1ll<<i)){ for(int j=0;j<buy[i].size();j++){ bought[buy[i][j]]=true; } } } ull aas=-1; for(int i=0;i<k;i++){ for(int j=0;j<buy[i].size();j++){ if(!bought[buy[i][j]]){ aas^=(1ll<<i); break; } } } // cout<<aas<<endl; ull val=1; for(int i=0;i<k;i++){ if(aas&(1ll<<i)){ val<<=1ll; } } if(aas==-1 && n==0){ cout<<"18446744073709551616"<<endl; //F**K U CCF. U THINK U CAN BEAT ME?? return 0; } cout<<val-n<<endl; return 0; } ========== ``` 这位选手在注释中表达了对 $\text{CCF}$ 的不满。(~~小心引恐禁三~~)他的勇气让人钦佩,是武装反抗 $\text{CCF}$ 的一员。 ``` ===== Successfully open the file answers\JS-00214\julian\julian.cpp.The size of it is 0.739 KB. #include <bits/stdc++.h> using namespace std; typedef unsigned long long ull; inline void read(int &x) { int y = 1; char c = getchar(); while(c<'0'||c>'9'){ if(c=='-') y = -1; c = getchar(); } x = 0; while(c>='0'&&c<='9'){ x = x * 10 + (c - '0'); c = getchar(); } x = x * y; } bool checkj(int x) { return (x%4==0&&!(x%100==0)) || (x%400==0); } int n; int main() { freopen("julian.in","r",stdin); freopen("julian.out","w",stdout); read(n); if(n==3){ int x,y,z; cin >> x; if(x==10) cout << "11 1 4713 BC" << endl; if(x==2000000) cout << "14 9 763" << endl; cin >> y; if(y==100) cout << "10 4 4713 BC" << endl; if(y==3000000) cout << "CCF goes dying" << endl; } cout << "I love CCF" << endl; return 0; } ========== ``` 这位选手就和上面那位不一样了。他表达了他对 $\text{CCF}$ 的赞赏(迫真),可惜界不到我们亲爱的 $\text{CCF}$ 。 ``` ===== Successfully open the file answers\JS-00663\julian\julian.cpp.The size of it is 2.482 KB. // "Why would this nasty time-waster be here???!!!!" // --- Zzzyt // "Okay CCF I know some criticism is coming soon..." // --- Zzzyt, 15:53, after finishing this problem ... ``` 这位选手在第一题中,表达了对 $\text{CCF}$ 的强烈不满。 ``` ---------- Now Opening S-00121's file(s). ===== Successfully open the file answers\JS-00121\julian\julian.cpp.The size of it is 2.863 KB. #include <bits/stdc++.h> //#include <bits/extc++.h> using namespace std; //using namespace __gnu_pbds; #define ll long long #define pii pair<int,int> #define qi ios::sync_with_stdio(0) /** CSP-S 2020 By XGN from HHS "Please don't forget to OPEN ENOUGH SPACE for arrays" --Ookami "Please don't forget to USE LONG LONG AND *1LL when necessary" --Doragon "Please CHECK GREEDY works and DON'T MISREAD THE STATEMENT" --Ninetail "Please EMPTY THE ARRAYS when doing multiple testcases" --Hikari "Use tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update> t (NOI Linux only) for a STL balance tree" --Rinri "Please DON'T FORGET int(size())-1" --Rinko "Please, try your best! We will be waiting for your victory!" --Hikari */ ``` 这位选手在注释中写了相当多的注意事项。相信他会成功的。 ``` ===== Successfully open the file answers\JS-00329\julian\julian.cpp.The size of it is 2.132 KB. ... /* It seems that the samples has some problems. */ ``` (部分代码已省去) 这位选手表达了他对样例的不满。可惜这样的反抗是无力的(悲)。 ``` ---------- Now Opening S-00710's file(s). ===== Successfully open the file answers\JS-00710\julian\julian.cpp.The size of it is 2.053 KB. //if I accepted this problem,please let yj give me a ni yan! ... ``` ``` ===== Successfully open the file answers\JS-00710\zoo\zoo.cpp.The size of it is 0.595 KB. //if I accepted this problem,please let yj give me a mi die xiang! ... ``` ``` ===== Successfully open the file answers\JS-00710\snakes\snakes.cpp.The size of it is 1.592 KB. //if I accepted this problem... oh, that is impossible! ... ``` 这位选手在注释中表达了对 $\text{AC}$ 题目的期望以及对 $\text{CCF}$ 的祈祷。 可惜这样并没有什么用(悲) - 顺带一提,大家真喜欢用 $qwq$ 作为变量名啊……全部代码中搜索到了 $177$ 次 $qwq$ 。 - 这里还找到了好多拼音人。 $cheng$ 这个关键字出现了 $57$ 次。 ```cpp ===== Successfully open the file answers\JS-00341\call\call.cpp.The size of it is 1.018 KB. #include <bits/stdc++.h> #define ll long long #define INF 1000000000 #define LINF 1000000000000000000 #define F first #define S second using namespace std; int main(){ //freopen("call.in","r",stdin); //freopen("call.out","w",stdout); } /* Please do take a look at this before you submit: 1.file name(Capital,space,etc.) 2.Input/Output (especially those that have letters) 3.long long, mod, *(ll)1, ... 4.return 0 5.clear when multi tests apply 6.set initial values 7.size of an array (too large->MLE, or too small->WA?) 8.silly mistakes(write + as -, m as n...) 9.head files & CE warning (system(""), atoi, pop_back()...) 10.bounds of arrays, binary search... After finished writing: choose AT LEAST TWO of those to check: 1.check by brute force 2.design samples by hand with difficult situations 3.look with bare eyes 4.check extreme samples (the least & the largest) When writing: 1. add explainations when needed 2. SLOW DOWN! be careful with bounds & maths, give an example if possible 3. remember strategy */ ``` 这位选手也写了相当多的注意事项。可惜他注释掉了 $\verb!freopen!$ 。 ```cpp ... //检查空间会不会爆 //检查int和long long //记得赋初值 //记得文件输入输出 //保持平稳的心态,不要被别人带节奏 //RP++ ... ``` 另外一个注意事项。 ```cpp ===== Successfully open the file answers\JS-00268\zoo\zoo.cpp.The size of it is 0.669 KB. //0可以,1不行 #include<bits/stdc++.h> using namespace std; typedef long long ak; #define im INT_MAX #define F(i,j,k) for(int i=j;i<=k;i++) #define G(i,j,k) for(int i=j;i>=k;i--) ak a[111];bool h[111]; void fenjie(ak x){ ak cur=0,xx=x; while(xx){ if(xx%2)h[cur]=0;xx>>=1;cur++; } } int main(){ #ifndef lpcak freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); #endif ak n,m,c,k,p=0; ios::sync_with_stdio(0); cin>>n>>m>>c>>k; F(i,1,n)cin>>a[i]; F(i,1,m){ ak fuck,shit;cin>>fuck>>shit; h[fuck]=1; } F(i,1,n)fenjie(a[i]); F(i,0,k-1)if(!h[i])p++; cout<<(ak)((1<<p)-n)<<"\n"; return 0; } ``` 这位选手使用了粗鄙之语作为变量名。这次一共有 $9$ 个人提到了 $\verb!f**k!$ 。 ```cpp ===== Successfully open the file answers\JS-00506\zoo\zoo.cpp.The size of it is 0.975 KB. #include<bits/stdc++.h> using namespace std; unsigned long long n,m,c,k,a,ret,all,pw[64],p,q,ans; int x,T,cnt; unsigned long long read(){ ret=0; char c='a'; while(c<'0'||c>'9')c=getchar(); while(c>='0'&&c<='9'){ x=c-'0'; ret=ret*10+x; c=getchar(); } return ret; } unsigned long long myor(unsigned long long a,unsigned long long b){ ret=0;T=64; while(T--){ if(a%2||b%2) ret=ret+pw[63-T]; a/=2; b/=2; } return ret; } bool vis[64]; int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); pw[0]=1; for(int i=1;i<64;i++) pw[i]=pw[i-1]*2; n=read();m=read();c=read();k=read(); if(k==64&&n==0&&m==0){ printf("18446744073709551616"); return 0; } for(int i=0;i<n;i++){ a=read(); all=myor(all,a); } for(int i=0;i<m;i++){ p=read(); q=read(); if(!vis[p]&&(all/pw[p])%2==0){ vis[p]=1; cnt++; } } k-=cnt; if(k==64){ n--; cout<<1844674407370955165ll-n; }else cout<<pw[k]-n; return 0; }//tourist bless me ========== ``` 这位选手在寻求 $\text{tourist}$ 的庇护。 ### $\verb!Part C!$ 文件输入输出错误 让我们康康一些悲惨注释人。 ```cpp ===== Successfully open the file answers\JS-00105\julian\julian.cpp.The size of it is 1.120 KB. #include <bits/stdc++.h> using namespace std; int mon[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; struct days{ int year,month,day,flag,run; }; days r[10000001]; int main(){ //freopen(" julian.in","r",stdout); //freopen(" julian.out","w",stdin); ios::sync_with_stdio(false); int d=0; r[0].year=4713;r[0].month=1;r[0].day=1;r[0].flag=1,r[0].run=1; while(d<=1722024){ d++; if(d<1722024)r[d].flag=1; if(d>=1722024&&d<2299841)r[d].flag=0; if(d>=2299841)r[d].flag=2; r[d].day=r[d-1].day+1; r[d].month=r[d-1].month; r[d].year=r[d-1].year; r[d].run=r[d-1].run; if(r[d].day>mon[r[d].month]){ r[d].day-=mon[r[d].month],r[d].month++; if(r[d].month>12&&r[d].flag==1){r[d].year--;r[d].month=1;if(r[d].year%4==1)mon[2]=29;else mon[2]=28;} //if(r[d].year==0)r[d].year++; if(r[d].month>12&&r[d].flag==0){r[d].year++;r[d].month=1;if(r[d].year%4==0)mon[2]=29;else mon[2]=28;} } } int q,k; cin>>q; for(int i=1;i<=q;i++){ cin>>k; if(r[k].flag==1)cout<<r[k].day<<' '<<r[k].month<<' '<<r[k].year<<' '<<"BC"<<endl; else cout<<r[k].day<<' '<<r[k].month<<' '<<r[k].year<<endl; } return 0; } ``` 这位选手写了相当多的内容,可惜注释掉了 $\verb!freopen!$ (悲)这份代码能在洛谷上拿到 $40$ 分,可惜他考场上爆零了(悲) 无独有偶,另外一个选手写了相当长的代码,可惜也注释掉了 $\verb!freopen!$ 。 ``` ===== Successfully open the file answers\JS-00159\julian\julian.cpp.The size of it is 2.454 KB. ... int main(){ //freopen("julian.in","r",stdin); //freopen("julian.out","w",stdout); ... ``` 很不幸的是,他把 $\verb!snakes!$ 的 $\verb!freopen!$ 也注释掉了。另外两题没写,于是成了一个爆零人(悲) ```cpp int main() { freopen("rulian.in","r",stdin); freopen("rulian.out","w",stdout); int n; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; if(x==10){ cout } } return 0; } ``` 这位选手不光拼错了文件名,还没有写完程序。太惨了。 这次考试一共有 $36$ 个注释 $\verb!freopen!$ 。除去调试代码,还有 $34$ 个。也就是说, $17$ 份代码因此爆零,让我们为他们默哀。 ```cpp ===== Successfully open the file answers\JS-00451\snakes\snakes.cpp.The size of it is 0.528 KB. ... int main() { freopen("snakes.in","r",stdin); freopen("snakes.out"."w",stdout); ... } ``` 这位兄弟把逗号写成了小数点() ### $\verb!Part D!$ 爆零 这次的大小排名清单部分如下: ```cpp The rank of size is below. rank= 1,ID= 510,total size= 0.000 KB. The size of julian is 0.000 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 2,ID= 603,total size= 0.000 KB. The size of julian is 0.000 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 3,ID= 577,total size= 0.000 KB. The size of julian is 0.000 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 4,ID= 480,total size= 1.007 KB. The size of julian is 1.007 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 5,ID= 105,total size= 1.120 KB. The size of julian is 1.120 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 6,ID= 455,total size= 1.306 KB. The size of julian is 0.593 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.713 KB. rank= 7,ID= 185,total size= 1.346 KB. The size of julian is 0.844 KB. The size of zoo is 0.502 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 8,ID= 84,total size= 1.354 KB. The size of julian is 0.876 KB. The size of zoo is 0.478 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 9,ID= 511,total size= 1.410 KB. The size of julian is 1.410 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 10,ID= 699,total size= 1.423 KB. The size of julian is 1.423 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 11,ID= 690,total size= 1.468 KB. The size of julian is 1.468 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 12,ID= 89,total size= 1.505 KB. The size of julian is 0.279 KB. The size of zoo is 0.156 KB. The size of call is 0.174 KB. The size of snakes is 0.896 KB. rank= 13,ID= 709,total size= 1.552 KB. The size of julian is 0.996 KB. The size of zoo is 0.556 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 14,ID= 590,total size= 1.559 KB. The size of julian is 0.749 KB. The size of zoo is 0.325 KB. The size of call is 0.000 KB. The size of snakes is 0.485 KB. rank= 15,ID= 442,total size= 1.614 KB. The size of julian is 1.323 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.291 KB. rank= 16,ID= 486,total size= 1.648 KB. The size of julian is 1.042 KB. The size of zoo is 0.173 KB. The size of call is 0.205 KB. The size of snakes is 0.228 KB. rank= 17,ID= 152,total size= 1.686 KB. The size of julian is 0.782 KB. The size of zoo is 0.000 KB. The size of call is 0.904 KB. The size of snakes is 0.000 KB. rank= 18,ID= 563,total size= 1.690 KB. The size of julian is 1.539 KB. The size of zoo is 0.151 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 19,ID= 624,total size= 1.723 KB. The size of julian is 0.826 KB. The size of zoo is 0.897 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 20,ID= 6,total size= 1.756 KB. The size of julian is 0.868 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.888 KB. rank= 21,ID= 643,total size= 1.788 KB. The size of julian is 0.579 KB. The size of zoo is 0.663 KB. The size of call is 0.322 KB. The size of snakes is 0.224 KB. rank= 22,ID= 461,total size= 1.792 KB. The size of julian is 0.580 KB. The size of zoo is 0.733 KB. The size of call is 0.248 KB. The size of snakes is 0.231 KB. rank= 23,ID= 357,total size= 1.877 KB. The size of julian is 1.877 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 24,ID= 247,total size= 1.883 KB. The size of julian is 1.883 KB. The size of zoo is 0.000 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. rank= 25,ID= 639,total size= 1.936 KB. The size of julian is 1.586 KB. The size of zoo is 0.350 KB. The size of call is 0.000 KB. The size of snakes is 0.000 KB. ``` 可以发现,这次好多人都只写了个第一题就走人了。可以发现,这次第一题对大家的打击有多大( ### $\verb!Part E!$ 其他 输 出 样 例 人 ```cpp ---------- Now Opening S-00089's file(s). ===== Successfully open the file answers\JS-00089\julian\julian.cpp.The size of it is 0.279 KB. #include<bits/stdc++.h> using namespace std; int main{ freopen("julian.in","r",stdin); freopen("julian.out","w",stdout); int q; cin>>q; string r[q],s[q]; for(int i=1;i<=q;i++) int y,m,d; cin>>r[i]; if(r[i]==0) y=4713; m=1; d=1; s[i]=(y,m,d); return 0; } ========== ===== Successfully open the file answers\JS-00089\zoo\zoo.cpp.The size of it is 0.156 KB. #include<bits/stdc++.h> using namespace std; int main(){ freopen("zoo.in","r",stdin); freopen("zoo.out","w",stdout); cout<<13<<endl; return 0; } ========== ===== Successfully open the file answers\JS-00089\call\call.cpp.The size of it is 0.174 KB. #include<bits/stdc++.h> using namespace std; int main(){ freopen("call.in","r",stdin); freopen("call.out","w",stdout); cout<<6<<" "<<8<<" "<<12<<endl; return 0; } ========== ``` $\text{M L E}$ & 打 表 人 ```cpp ===== Successfully open the file answers\JS-00123\zoo\zoo.cpp.The size of it is 0.174 KB. #include<bits/stdc++.h> using namespace std; int t,n,k,a[100000008],w,ans; int main() { freopen("zoo.in","r",stdin); freoepn("zoo.out","w",stdout); cout<<13; return 0; } ``` (他还有一个程序也开了 $10^8$ 的 $\verb!int!$ 数组。属实 $\text{M L E }$ 人。) ``` 又是一个 $\text{M L E}$ 人。 (这次搜索一共搜索到了 $29$ 个大小不小于 $10^7$ 的数组。) ```cpp ===== Successfully open the file answers\JS-00299\julian\julian.cpp.The size of it is 2.105 KB. #include<bits/stdc++.h> using namespace std; struct Ifyoucan{ int year,month,day; }a[10000000],b[10000000],c,d; long long rl[20]; ... ``` 随 机 人 & 爆 零 人 ```cpp ===== Successfully open the file answers\JS-00001\call\call.cpp.The size of it is 0.135 KB. #include<bits/stdc++.h> using namespace std; int main() { freopen("call.in","r",stdin); freopen("call.out","w",stdout); return 0; } ========== ===== Successfully open the file answers\JS-00001\snakes\snakes.cpp.The size of it is 0.425 KB. #include<bits/stdc++.h> using namespace std; int t,n,m,x; int a[1000000+5]; int rand(int n) { return (long long)rand()*rand()%n; } int main() { freopen("snakes.in","r",stdin); freopen("snakes.out","w",stdout); srand((unsigned)time(0)); cin>>t; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cout<<rand(n)<<endl; for(int i=2;i<=t;i++) { cin>>m; for(int i=1;i<=2*m;i++) cin>>x; cout<<rand(n)<<endl; } return 0; } ========== ``` 不 懂 位 运 算 人 ```cpp ===== Successfully open the file answers\JS-00328\zoo\zoo.cpp.The size of it is 1.073 KB. ... long long pow(int k){ if(k==0)return 1; if(k==1)return 2; if(k==2)return 4; if(k==3)return 8; if(k==4)return 16; if(k==5)return 32; if(k==6)return 64; if(k==7)return 128; if(k==8)return 256; if(k==9)return 512; if(k==10)return 1024; if(k==11)return 2048; if(k==12)return 4096; if(k==13)return 8192; if(k==14)return 16384; if(k==15)return 32768; if(k==16)return 65536; if(k%2==0)return (pow(k/2)*pow(k/2)); if(k%2==1)return (pow(k/2)*pow(k/2)*2); } ... ``` $\verb!llu!$ 写 挂 人。 ``` ===== Successfully open the file answers\JS-00609\zoo\zoo.cpp.The size of it is 0.868 KB. ... scanf("%ulld",&a[i]); ... ===== Successfully open the file answers\JS-00656\zoo\zoo.cpp.The size of it is 0.809 KB. scanf("%ull",&a[i]); ... ===== Successfully open the file answers\JS-00026\zoo\zoo.cpp.The size of it is 0.653 KB. if(n>30) for(int i=1;i<=n;i++) scanf("%ulld",&a),ccf(a); ``` --- ## 后记 这个统计做的比较匆忙,可能有些东西并不能覆盖完全。希望大家能补充。