CSP-J 2024 游记

alanbecker

2024-11-08 20:32:46

Life & Travel

\ \ \ \ \

本人 LN-J00373

day 0

看了看 noi 各省新闻。

day 1

考场上(我)的事

进考场,带了一瓶水,一个鸡蛋

比赛时间开始,输入 zip 密码,输入 pdf 密码,看比赛题目。

6min 后,T1似乎想出了眉目。可是……

IN:           OUT:
4             -2147483648
DQ
DT
H3
DQ

我似乎想到了我的桶排序还不太熟

于是,我参考了 LN-J00372 的做法:

z = 1;

z = 14;

z = 27;

z = 40;

前提是我必须和他有同样的思路

于是

一小时后……

上了个厕所,吃了个鸡蛋

于是……

长达 30 \text{min} 的打表发现:

1 = DA
2 = D2
3 = D3

......

以此类推

所以,我想了一个奇妙的想法:

请欣赏代码

#include <bits/stdc++.h> 
using namespace std;

    int n, tong[101] = {0}, sum = 0;
    string sun;
int main(){

freopen("poker.in", "r", stdin);
freopen("poker.out", "w", stdout);

    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> sun;

        if(sun == "DA"){
            tong[1]++;
        }
        else if(sun == "D2"){
            tong[2]++;
        }
        else if(sun == "D3"){
            tong[3]++;
        }
        else if(sun == "D4"){
            tong[4]++;
        }
        else if(sun == "D5"){
            tong[5]++;
        }
        else if(sun == "D6"){
            tong[6]++;
        }
        else if(sun == "D7"){
            tong[7]++;
        }
        else if(sun == "D8"){
            tong[8]++;
        }
        else if(sun == "D9"){
            tong[9]++;
        }
        else if(sun == "DT"){
            tong[10]++;
        }
        else if(sun == "DJ"){
            tong[11]++;
        }
        else if(sun == "DQ"){
            tong[12]++;
        }
        else if(sun == "DK"){
            tong[13]++;
        }//c

        else if(sun == "CA"){
            tong[14]++;
        }
        else if(sun == "C2"){
            tong[15]++;
        }
        else if(sun == "C3"){
            tong[16]++;
        }
        else if(sun == "C4"){
            tong[17]++;
        }
        else if(sun == "C5"){
            tong[18]++;
        }
        else if(sun == "C6"){
            tong[19]++;
        }
        else if(sun == "C7"){
            tong[20]++;
        }
        else if(sun == "C8"){
            tong[21]++;
        }
        else if(sun == "C9"){
            tong[22]++;
        }
        else if(sun == "CT"){
            tong[23]++;
        }
        else if(sun == "CJ"){
            tong[24]++;
        }
        else if(sun == "CQ"){
            tong[25]++;
        }
        else if(sun == "CK"){
            tong[26]++;
        }//H
        else if(sun == "HA"){
            tong[27]++;
        }
        else if(sun == "H2"){
            tong[28]++;
        }
        else if(sun == "H3"){
            tong[29]++;
        }
        else if(sun == "H4"){
            tong[30]++;
        }
        else if(sun == "H5"){
            tong[31]++;
        }
        else if(sun == "H6"){
            tong[32]++;
        }
        else if(sun == "H7"){
            tong[33]++;
        }
        else if(sun == "H8"){
            tong[34]++;
        }
        else if(sun == "H9"){
            tong[35]++;
        }
        else if(sun == "HT"){
            tong[36]++;
        }
        else if(sun == "HJ"){
            tong[37]++;
        }
        else if(sun == "HQ"){
            tong[38]++;
        }
        else if(sun == "HK"){
            tong[39]++;
        }//S

        else if(sun == "SA"){
            tong[40]++;
        }
        else if(sun == "S2"){
            tong[41]++;
        }
        else if(sun == "S3"){
            tong[42]++;
        }
        else if(sun == "S4"){
            tong[43]++;
        }
        else if(sun == "S5"){
            tong[44]++;
        }
        else if(sun == "S6"){
            tong[45]++;
        }
        else if(sun == "S7"){
            tong[46]++;
        }
        else if(sun == "S8"){
            tong[47]++;
        }
        else if(sun == "S9"){
            tong[48]++;
        }
        else if(sun == "ST"){
            tong[49]++;
        }
        else if(sun == "SJ"){
            tong[50]++;
        }
        else if(sun == "SQ"){
            tong[51]++;
        }
        else if(sun == "SK"){
            tong[52]++;
        }
    }
//  
//  for(int i = 1; i <= 59; i++){
//      cout << tong[i] << endl;
//  }
//  
//  cout << endl <<endl;
//  
    for(int i = 1; i <= 80; i++){
        if(tong[i] != 0){
            sum += 1;
        }
    }

    cout << 52- sum;

    return 0;
}

估分后:

总分100分

大功告成!

至于T3……

#include <bits/stdc++.h> 
using namespace std;

int main(){

    cin >> n;
    for(int i = 1; i <= n; i++){
        cout << -1 << endl;
}

    return 0;
}

……

CSP-J 2024 2=(可能)

其他人的事

LN-J00372

T1 暴力打过了

98行

T2 他说……

这题咋这么 **

然后……

T3 试图故技重演,用暴力枚举逃避打表。 可没时间了,只好打表过。 ### LN-J00374 T1 啊哈!利用了 $ \text{char} $ 数组的特性,在 $3\text{min}$ 内通过! T2 $ \text{dfs} $ 真好,可以好好写了。 T3 没时间了…… # day +2 OK,这不妥妥的 2 等奖了吗!直接拿下 最后的最后:T3 没分 qwq