ZJ CSP-J 2023迷惑行为代码(持续更新)

· · 休闲·娱乐

看没人写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