ZJ CSP-J 2023迷惑行为代码(持续更新)
Chalage_2010 · · 休闲·娱乐
看没人写ZJ J组的就自己赶了一个
话说T4我本来打算写不可以总司令的,但想试一下运气写了个rand结果抱灵了呜呜呜
下面让我们进入正题
CSP游记人
来自ZJ-J00010
TA用生动的语言描述了比赛过程中的心理状态
以下是TA的T1代码(好长)
#include<bits/stdc++.h>
using namespace std;
#define isnum(x) ('0'<=x&&x<='9')
//我肯定知道我是负数不会算所以寄?
//我叫xia_____BB(洛谷上搜)
//如果我出现在CSP迷惑行为里我就吃**
//没有任何技术含量的大模拟,但是赛时调了两个小时还没过心态都炸了
//ps.比赛的时候看错样例导致对着正确代码调了十几分钟
……内容省略
struct num1 {//复数(分数)
pii x;//有理部分
pii y;//根号前系�?
int z;//根号下底�?
void f() {//化简
if(z==1) {//没考虑有理数寄�?
x=myadd(x,y);
y={1,1};
}
x=_f(x);
y=_f(y);
}
……内容省略
num2 sqt(int x) {
if(x==0)return {0,0,1};
int ans1=1,ans2=1;
for(int i=1;i<=cnt;i++) {
int ccnt=0;
while(x%prime[i]==0) {x/=prime[i];++ccnt;}//删调试的时候多删了寄了
if(ccnt&1)ans2*=prime[i];
ccnt>>=1;while(ccnt--)ans1*=prime[i];
}
return {0,ans1,ans2};
}
int mygcd(int x,int y) {
if(x<0)return mygcd(-x,y);//处理负数的时候脑裂寄�?
if(y<0)return mygcd(x,-y);
if(y==0)return x;
return mygcd(y,x%y);
}
……内容省略
TA的T3代码甚至直逼200行(编译时报错一大堆,但 能运行???)
define freopen人
ZJ-J00012在程序中使用了一种特殊的freopen,外加一下意义不明的字符
另外,TA的T1代码是这样的(这似乎还是一个退役人)
// @Chriskyo08
// AFO on 2023-10-21
// Goodbye, OI!
#include <cstdio>
using namespace std;
#define PROBLEM_NAME "apple"
#define FILE_IN freopen(PROBLEM_NAME".in", "r", stdin)
#define FILE_OUT freopen(PROBLEM_NAME".out", "w", stdout)
#define USE_FILE_IO; FILE_IN; FILE_OUT;
int n;
void input() {
scanf("%d", &n);
}
void take_apples() {
int rest = n, cnt = 0;
while (rest > 0) {
if (rest % 3 == 0)
rest -= rest / 3;
else
rest -= rest / 3 + 1;
cnt++;
}
printf("%d ", cnt);
}
void work() {
int rest = n, cnt = 0, take, day = -1;
while (rest > 0) {
// 鍓╀綑 3k+1 涓嫻鏋滐紝閭d箞鏈€鍚庝竴涓嫻鏋?n 涓€瀹氫細琚彇鍑?
// 鍗宠嫻鏋?n 灏嗗湪绗?cnt+1 杞鍙栧嚭
// day == -1 鐢ㄦ潵鍙彇鍒扮涓€娆℃弧瓒虫潯浠剁殑鎯呭喌
if (rest % 3 == 1 && day == -1)
day = cnt + 1;
if (rest % 3 == 0)
take = rest / 3;
else
take = rest / 3 + 1;
cnt++;
rest -= take;
// printf("%d %d\n", take, rest);
}
printf("%d %d\n", cnt, day);
}
int main() {
USE_FILE_IO;
input();
work();
return 0;
}
打表人
来自ZJ-J00019,TA在T3中创造了一个大数组(心疼TA的肝)
#include<bits/stdc++.h>
using namespace std;
long long T,m,a,b,c;
long long prime[200]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,
71,73,79,83,89,97,101,
103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,
197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,
311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,
431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,
557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,
661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,
809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,
937,941,947,953,967,971,977,983,991,997};//num=168;
long long find_fz(long long x){
……内容省略
}
int main(){
……内容省略
}
F*** CCF人
来自ZJ-J00021
TA在程序中极其隐晦地使用了CCF及F开头的单词以表达爱意
#include<bits/stdc++.h>
using namespace std;
long long n,ans,ans1,kk,ccc,cc,f=1,m,a,b,c,k;
int main() {
……省略内容
return 0;
}
“文明”人
来自ZJ-J00023
TA在T3中使用了一个国粹作为变量名,并标注“good name”
#include<bits/stdc++.h>
using namespace std;
const int N=10005;
int T,M,a,b,c;
int gcd(int x,int y){
return y==0?x:gcd(y,x%y);
}
int ABS(int x){
return x<0?-x:x;
}
int main(){
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
scanf("%d%d",&T,&M);// good name qwq
……内容省略
return 0;
}
另外,TA的T4在使用了万能头的情况下又加了<queue>和<vector>两个头文件
114514人
来自ZJ-J00024
TA在程序中加入了一个恶臭数字
#include<bits/stdc++.h>
using namespace std;
struct node{
int dl;
int t;
};
long long minn=1145141919;
int n,m,k;
vector<node> ve[10005];
void dfs(int u,long long sum){
……内容省略
}
int main(){
……内容省略
if(minn==1145141919) printf("-1");
else{
printf("%lld",minn);
}
return 0;
}
崩溃人
来自ZJ-J00026 TA在T3、T4中表达了TA的绝望
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
//I don't know what's the problem meaning...
return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
freopen("bus.in","r",stdin);
freopen("bus.out","w",stdout);
//I don't know how to do it,isn't it only in senior?
return 0;
}
不可能用std人
来自ZJ-J00028
TA的每一份程序都没有使用using namespace std;
#include <bits/stdc++.h>
namespace Vss{
using std::cin;
using std::cout;
using std::abs;
using std::max;
using std::min;
using std::sqrt;
using std::__gcd;
using ll=long long;
int main(){
std::ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
……内容省略
}
int main(){
//auto _st=std::chrono::steady_clock::now();
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
Vss::main();
//std::cerr<<"Time:"<<std::chrono::duration<double>(std::chrono::steady_clock::now()-_st).count()<<'\n';
return 0;
}
很可惜,TA的代码无法编译,成功抱灵
肝帝+AK人
ZJ-J00032在T3中展现了TA无与伦比的肝以及TA AK CSP-J的决心
在T2中TA发了自己的洛谷uid(大概是的)
T3
#include<bits/stdc++.h>
using namespace std;
const int Maxn = 100010;
signed main(){
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
int T, m;
cin >> T >> m;
while(T--){
int a,b,c;
cin >> a >> b >> c;
int delta = b * b - 4 * a * c;
if(delta < 0) {cout << "NO\n"; continue;}
int k = sqrt(delta);
a *= 2;
if(a < 0){
a = -a, b = -b, c = -c;
}
if(delta == 0){
if(b == 0){
cout << 0 << endl;
}
else if(b > 0) if(b % a != 0)cout << (-b) / __gcd(a,b) << "/" << a / __gcd(a,b) << "\n"; else cout << (-b) / __gcd(a,b) << "\n";
else if(b < 0) if(b % a != 0)cout << (-b) / __gcd(a,-b) << "/" << a / __gcd(a,-b) << "\n"; else cout << (-b) / __gcd(a,-b) << "\n";
}
else if(k * k == delta){
if(__gcd(a, k - b) == 1){
cout << k-b << "/" << a;
puts("");
}
else if((k - b) / a * a == (k - b)){
cout << (k - b) / a;
puts("");
}
else {
if(k - b > 0)cout << (k - b) / __gcd(a, k - b) << "/" << a / __gcd(a, k - b) << "\n";
else if(k - b < 0)cout << (k - b) / __gcd(a, b-k) << "/" << a / __gcd(a,b-k) << "\n";
else cout << 0 << endl;
}
}
else {
int p;
for(int j = k; j >= 1; j--){
if(delta % (j * j) == 0){
p = j;
break;
}
}
if(p == 1){
if(b > 0)
cout << (b * (-1)) / __gcd(a, b) << "/" << a / __gcd(a,b) << "+" << "sqrt(" << delta << ")" << "/" << a << "\n";
else if(b < 0)
cout << (b * (-1)) / __gcd(a, -b) << "/" << a / __gcd(a,-b) << "+" << "sqrt(" << delta << ")" << "/" << a << "\n";
else {
cout << "sqrt(" << delta << ")" << "/" << a << "\n";
}
}
else {
if(b > 0){
if(b != 0 and b % a != 0 and a == p)printf("%d/%d+sqrt(%d)\n",(-b)/__gcd(a,b),a/__gcd(a,b),delta / (p * p));
else if(b != 0 and b % a == 0 and a == p)printf("%d+sqrt(%d)\n",(-b)/__gcd(a,b),delta / (p * p));
else if(b != 0 and b % a != 0 and a == __gcd(p,a))printf("%d/%d+%d*sqrt(%d)\n",(-b)/__gcd(a,b),a/__gcd(a,b),p / __gcd(p,a),delta / (p * p));
else if(b != 0 and b % a == 0 and a == __gcd(p,a))printf("%d+%d*sqrt(%d)\n",(-b)/__gcd(a,b),p / __gcd(p,a),delta / (p * p));
else if(b != 0 and b % a != 0 and p != __gcd(p,a))printf("%d/%d+%d*sqrt(%d)/%d\n",(-b)/__gcd(a,b),a/__gcd(a,b),p / __gcd(p,a),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a == 0 and p != __gcd(p,a))printf("%d+%d*sqrt(%d)/%d\n",(-b)/__gcd(a,b),p / __gcd(p,a),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a != 0 and p == __gcd(p,a))printf("%d/%d+sqrt(%d)/%d\n",(-b)/__gcd(a,b),a/__gcd(a,b),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a == 0 and p == __gcd(p,a))printf("%d+sqrt(%d)/%d\n",(-b)/__gcd(a,b),delta / (p * p),a/__gcd(p,a));
}
else if(b == 0){
if(a == p) printf("sqrt(%d)\n",delta / (p * p));
else if(a == __gcd(p,a))printf("%d*sqrt(%d)\n",p / __gcd(p,a),delta / (p * p));
else if(p == __gcd(p,a))printf("sqrt(%d)/%d\n",delta / (p * p),a/__gcd(p,a));
else if(p != __gcd(a,p))printf("%d*sqrt(%d)/%d\n",p / __gcd(p,a),delta / (p * p),a/__gcd(p,a));
}
else {
if(b != 0 and b % a != 0 and a == p)printf("%d/%d+sqrt(%d)\n",(-b)/__gcd(a,-b),a/__gcd(a,-b),delta / (p * p));
else if(b != 0 and b % a == 0 and a == p)printf("%d+sqrt(%d)\n",(-b)/__gcd(a,-b),delta / (p * p));
else if(b != 0 and b % a != 0 and a == __gcd(p,a))printf("%d/%d+%d*sqrt(%d)\n",(-b)/__gcd(a,-b),a/__gcd(a,-b),p / __gcd(p,a),delta / (p * p));
else if(b != 0 and b % a == 0 and a == __gcd(p,a))printf("%d+%d*sqrt(%d)\n",(-b)/__gcd(a,-b),p / __gcd(p,a),delta / (p * p));
else if(b != 0 and b % a != 0 and p != __gcd(p,a))printf("%d/%d+%d*sqrt(%d)/%d\n",(-b)/__gcd(a,-b),a/__gcd(a,-b),p / __gcd(p,a),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a == 0 and p != __gcd(p,a))printf("%d+%d*sqrt(%d)/%d\n",(-b)/__gcd(a,-b),p / __gcd(p,a),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a != 0 and p == __gcd(p,a))printf("%d/%d+sqrt(%d)/%d\n",(-b)/__gcd(a,-b),a/__gcd(a,-b),delta / (p * p),a/__gcd(p,a));
else if(b != 0 and b % a == 0 and p == __gcd(p,a))printf("%d+sqrt(%d)/%d\n",(-b)/__gcd(a,-b),delta / (p * p),a/__gcd(p,a));
}
}
}
}
}
/*
9 1000
1 -1 0
-1 -1 -1
1 -2 1
1 5 4
4 4 1
1 0 -432
1 -3 1
2 -4 1
1 7 1
鐥涘けAK
1 10000
16 0 -128
*/
T2
#include<bits/stdc++.h>
using namespace std;
const int Maxn = 1000010;
int v[Maxn];
int a[Maxn];
int s[Maxn];
int st[Maxn];
int Min[Maxn];
int l, r;
signed main(){
……内容省略
return 0;
}
// 鏅強T4涓嶄細鎬庝箞鍔炴€庝箞鍔炲晩鍟婂晩鍟婂晩鍟婂晩
// 閴村畾涓虹帺鍏冪洓瀵艰嚧鐨?-- lg304558
作文人
ZJ-J00037考生在T4写了一篇小作文以表达自己时间不足
那TA是怎么写作文的?
#include <bits/stdc++.h>
using namespace std;
……内容省略
bool check(int x){
……内容省略
}
signed main(){
……内容省略
}
/*
binary search is useful /ww
if we can leave at x time, we can leave at (x+1) time, too.
so binary search.
how to check??
first of all, there should be some edge that we can't go across.
and we can build a fan3 tu2 (i don't know the english, haha)
so we can know the earliest time we reach node 1.
so we solve it!!
I'll AK CSP-J2023?? i wish i can.
oh, i'll think about what is the latest time.
we can use (count of edge) + (maximum of t_i) as the latest time.
i don't have enough time so i have to type code quickly.
oh i can't solve this. well......
i don't have enouch time...
byebye...
*/
还有ZJ-J00076考生
TA用代码给我们讲述了一个生动的故事
T1
可以看出TA在努力回想freopen的写法(似乎被TA发现了一种非常规写法)
#include <fstream>
//#include <iostream>
using namespace std;
int main(){
// help me, i forgot how to write freopen...
// I AM SO SMART.jpg
// ("apple.in")
int n, day = 1, lastday;
bool token = false;
fscanf(fopen("apple.in", "r"), "%d", &n);
// fin.open("apple.in");
// fin>>n;
……内容省略
fprintf(fopen("apple.out", "w"), "%d %d", day, lastday);
……内容省略
return 0;
/*/
编者翻译:(救救我,我忘了怎么写freopen...
我太聪明了.jpg)
/*/
}
T2
这里TA找到了正确的freopen写法
为什么不改T1
并为此发表长篇大作
#include <bits/stdc++.h>
using namespace std;
// I can deal with this problem,
// but i can't deal with the usage of freopen()
// i found file fstream but didn't find who asked freopen()
// i even found the creater of cstdio and he found a bug
// but didn't found who asked freopen()
// TwT
// I only remember freopen("xxx.in", "r") and that's not correct...
// wait, stdin?
// oh s**t it works <- i'm afraid if csp give me 0 because of word s**t in code
// HELLO WORLD!!!!!!!!!!!
// now let me think of this one
int n, m;
int priz[100010];
int dist[100010];
int main(){
// int n;
// fin = freopen("road.in", "r", fin);
// fscanf("%d", &n)
freopen("road.in", "r", stdin);
freopen("road.out", "w", stdout);
……内容省略
// yee i seemed to solve it!
return 0;
/*/
编者翻译:(我能解决这个问题,
但我不能解决freopen()的用法
我找到了头文件fstream,但我找不到freopen()的用法
我甚至找到了头文件cstdio并且找到了一个bug
但我还是找不到freopen()的用法
TwT
我只记得是freopen("xxx.in","r")但这不对...
等一下,stdin???
我的天哪!!!它起作用了!!!<-我害怕因为暴戾语言而被csp判为0分
你好啊世界!!!!!!!!!!!!!!
现在让我想一想这个
是的,我似乎解决了这个问题)
/*/
}
T3
TA似乎是先做的T3
//#include <fstream>
//#include <cstring>
//using namespace std;\
//// NOOOOOOO
//// HOW TOO WRIT A FREEOPEN ??????
//// IM DEAD !!!!!!
//// ABSULUTLY DEAD !!!!!!!!!!!
//int main(){
// int n;
// fscanf(fopen("uqe.in", "r"), "%d", &n);
// string a = "";
// for (int i = 1;i <= n;i ++) a+= "0\n";
// fprintf(fopen("uqe.out", "w"), a);
// return 0;
//}
// I'm back!
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
int gcd(int a, int b){
while (a ^= b ^= a ^= b %= a) {}
return b;
}
int main(){
……内容省略
}
/*/
编者翻译:(不!!!!!!!!!
怎么写freopen??????
我死定了!!!!!!
我错的离谱!!!!!!!!!
我回来了!(我想起来了))
/*/
T4
#include <bits/stdc++.h>
#include<fstream>
#include <iostream>
using namespace std;
vector<int> a[10010];
vector<int> b[10010];
int rd[10010];
bool valid = false;
int n, m, k;
void dfs(int root, int numnow){
if (root == n){
if (numnow % k == 0){
rd[n] = min(rd[n], numnow);
valid = true;
}
return ;
}
if (numnow > rd[root]) return;
rd[root] = numnow;
cout<<root;
for (int i = 0;i < a[root].size();i ++){
dfs(a[root][i], max(b[root][i] + 1, numnow + 1));
}
return ;
}
int main(){
memset(rd, 0x3f, sizeof(rd));
// fopen("bus.in", "r")
// fopen("bus.out", "w")
// Help me, i really forgot how to write a freopen...
// Well i dont think this way is right
// NOOOOOOO WAY
// IT ONLY READS THE FIRST LINE!!!!!!!!
// Yee i found how when i was dealing with "road"
……内容省略
}
/*/
编者翻译:(救救我,我真的忘了怎么写freopen...
但我认为这个方法是对的
不!!!!!!!
它只读取了第一行!!!!!!!!!
是的,在写“road”时我知道怎么写了)
/*/
作者通过心理描写表达了思乡之情
祈祷人
ZJ-J00049在T2中进行祈祷
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 5;
ll v[N], a[N];
int main(){
……内容省略
}
//5 4
//10 10 10 10
//9 8 9 6 5
//%%%lsj %%%hzh baoyouwonadao80ptsyishangba /kk/kk/kk
/*/
编者翻译:膜lsj 膜hzh 保佑我拿到80pts以上吧 /kk/kk/kk
/*/
//freopen人
ZJ-J00051在T2中忘了删注释
教练:都说了要检查!检查!!检查!!!
这是TA的代码,让我们恭喜TA的抱灵
#include<bits/stdc++.h>
using namespace std;
……内容省略
int main(){
//freopen("road.in","r",stdin);
//freopen("road.out","w",stdout);
……内容省略
}
除此之外还有ZJ-J0057的T3也没有删注释
rp++人
ZJ-J00060在T2、T3、T4中均进行了有趣的注释
T2
#include <bits/stdc++.h>
#define int long long
using namespace std;
……内容省略
signed main(){
……内容省略
}
/*5 4
10 10 10 10
9 8 9 6 5*/
//rp++
//bu kai long long jian zu zong
T3
#include <bits/stdc++.h>
using namespace std;
int main(){
……内容省略
while(t--){
……内容省略
if(fzz == 0){
//rp++;
}
……内容省略
}
return 0;
}
/*
……内容省略
*/
T4
#include <bits/stdc++.h>
using namespace std;
……内容省略
int main(){
……内容省略
if(n <= 10){
……内容省略
}else if(k == 1){
……内容省略
}else{
printf("-1");//bu ke yi, xiao Z
/*/
编者翻译:不可以,小Z
/*/
}
return 0;
}
/*
……内容省略
*/
Mac OS人???
ZJ-J00061的文件夹中居然有Ds_Store文件!!! CSP不是只有Windows和Linux吗???
TA怎么用的Mac?
文件夹错误人
来自ZJ-J00080
我包容CSP
让我们恭喜TA的抱灵
诈骗人
来自ZJ-J00094
TA在T2中企图实施诈骗 但是我是手动搜索的
#include<bits/stdc++.h>
#define int long long
using namespace std;
……内容省略
signed main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
……内容省略
for(int i=1;i<n;){
……内容省略
//freopen("CON","w",stdout);
//printf("%d %d %d %d \n",i+j,i,m,(g[i+j]-g[i]-past+m-1)/m);
//freopen("road.out","w",stdout);
//int wowo=((g[i+j]-g[i]-past+m-1)/m);
……内容省略
}
printf("%lld",ans);
return 0;
}
表情人
来自ZJ-J00111
TA在每一份代码中都加入了表情
#include <bits/stdc++.h>
……内容省略
#define qwq puts("fzy qwq ~");
……内容省略
···-------------------------------------------------------------------------------------···
本人是第一次写这样的文章,不喜勿喷
有要删代码或增加的私信我
由于是纯粹手动搜索,更新速度较慢
墓前更新到ZJ-J00000~ZJ-J00111、ZJ-J01060
最近更新:2023-11-26-16:12