牛客2022年愚人节比赛,10题做法完整版

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客2022年愚人节比赛,10题做法完整版相关的知识,希望对你有一定的参考价值。

题目

A 天天好心情 点击查看 2533/2819 通过
B Falfa学群论 点击查看 22/139 通过
C 最短路 点击查看 34/180 通过
D 小红的简谱标记 点击查看 89/2202 通过
E Capture The Flag 点击查看 53/599 通过
F 小沙的hello world! 点击查看 64/258 通过
G 好心情没了 点击查看 0/34900 未通过
H 须弥空荡荡,草神在人间! 点击查看 237/25184 通过
I 如何计算一个很大的次幂这个方法我们已经有所了解 点击查看 772/3022 通过
J 小红的自画像 点击查看 290/1236 通过

题解

A 随便输出一个字符串

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;

int main()
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cout<<"开心";
    
    return 0;


B 结论可以在 wiki 上查到

#include<bits/stdc++.h>
using namespace std;
int main()
    map<string, string>mp;
    mp["B"]="4154781481226426191177580544000000";
    mp["Co_1"]="4157776806543360000";
    mp["Co_2"]="42305421312000";
    mp["Co_3"]="495766656000";
    mp["F_1"]="808017424794512875886459904961710757005754368000000000";
    mp["F_2"]="4154781481226426191177580544000000";
    mp["F_3"]="90745943887872000";
    mp["F_5"]="273030912000000";
    mp["Fi'_24"]="1255205709190661721292800";
    mp["Fi_22"]="64561751654400";
    mp["Fi_23"]="4089470473293004800";
    mp["H-H-McK"]="4030387200";
    mp["H-J-McL"]="50232960";
    mp["H-N"]="273030912000000";
    mp["H-S"]="44352000";
    mp["Ha-J-W"]="604800";
    mp["He"]="4030387200";
    mp["J_1"]="175560";
    mp["J_2"]="604800";
    mp["J_3"]="50232960";
    mp["J_4"]="86775571046077562880";
    mp["Ly"]="51765179004000000";
    mp["Ly-S"]="51765179004000000";
    mp["M"]="808017424794512875886459904961710757005754368000000000";
    mp["M(22)"]="64561751654400";
    mp["M(23)"]="4089470473293004800";
    mp["M(24)'"]="1255205709190661721292800";
    mp["M_11"]="7920";
    mp["M_12"]="95040";
    mp["M_22"]="443520";
    mp["M_23"]="10200960";
    mp["M_24"]="244823040";
    mp["McL"]="898128000";
    mp["O'N"]="460815505920";
    mp["O'N-S"]="460815505920";
    mp["R-C-W"]="145926144000";
    mp["Ru"]="145926144000";
    mp["Suz"]="448345497600";
    mp["Th"]="90745943887872000";

    string s;  cin>>s;
	cout<<mp[s]<<endl;
	return 0;


C 可能是个dp,没仔细看

D 可以唱出来(bushi),大多数都是5和7

#include<bits/stdc++.h>
using namespace std;
int main()
    cout<<"7\\n5\\n3\\n5\\n5.5\\n7";
	return 0;

E CTF找flag

#include<bits/stdc++.h>
using namespace std;
int main()
    cout<<"ksdikne";
	return 0;


F (盲猜)数据没有奇怪的字符,毕竟没出现的字符连打印规则也不知道
那么就把输入跟样例里有的字符对比一下,如果有就输出,没有就不管,就可以了。

#include <bits/stdc++.h>
using namespace std;
string s[6] = 
    "#*********#####*****##*##*****#***####*#****#*#*###**#########**###*####*#####*######*****#***######*#*#*############*##*###*#***#***************##*******#*****#***#*#####***#*********************###**###*###*#*###*#*#*######*###*#***#*###*#*###*#*#**********#**********##*#*#****##*####*##*###*##**###*#######*******##***###***####*####*##*****",
    "#*##**###*#########*##*##*###*#*#*###**#*###***###**#####*#####**##*###**####**######*#####*#########***######*****#*###*###**#*#**####*####*########**###******##*##*#######*#*######*##*###**###*#*#*#*###*###*##*#*#*#*####*##**#**###*#**##**#*#**#*#**###**###*###*#*###*******#######*###*##*###*###*##*#*##########***#*##**##*#####*#*####*#*####",
    "#*##******#####**********###**##*#*##*##*###**####*#############*##*####*###*#*######*******##########*##*****#####*####*****#***#***************####*****#**#**##*##*######**#*#***##*##*#*#**###*##*##*###*###*###*############**#**###***#*#*###*#*#*#*****#****###*##*****#*#*##***########*###*#*####################*##*####**#*#####***#####**####",
    "#*##**###*#########*##*####**##*#*##**##*###***###**#####*#####**##*####*##*****#########*#*######*##***######*****#*###*###*##*#**###**####*########**###******##*##*#########*#*#*##*##*##***###*#*#*#*###*#*#*###*#########*##*#*#*###*#*##**#####*#*#**#*##*#####*#######******####*###########*#*####################*#*#**###***####*###*###*#*####",
    "#*********#####*****##*##*****#***##*###****#*#*###**#########**###*##*****###*###*##*****#***###**#*#*#*############*##*###*#***#******####*****##*******#*****#***#*****##*##*****##*##***********###******#***###*#########*##*#*#*#***#*###*######*#*#*##*#*####***********#*###***########*####*############*****####**##**####***###*###*##*##*****",
;
string gg = "08 3+2&/DK(:)|14.5,*-=<H$6FE]B@IL?GTQOXUJY\\";M\\N~WRPZ9#S`!V'^_7%\\\\[A>C";
string g[6];

int cmp(int i, int j) 
	for (int k = 0; k < 5; k += 1)
		for(int l = 0; l < 5; l += 1)
			if(s[k][i + l] != g[k][j + l]) 
				return 0;
			
	return 1;

int main () 
	for(int i = 0; i < 5; i += 1) cin >> g[i];
	for(int i = 0; i < g[0].size(); i += 5) 
		for(int j = 0; j < s[0].size(); j += 5)
			if(cmp(j, i)) 
				cout<<gg[j/5];
			
	
	return 0;


G 题目的MD5比较难算,可以暴力枚举数字每次算MD5比较,可以发现42的si shi er的MD5等于0abf0252b0787836cd5adb5b0575adfd,因此WA42发可以参与抽奖


H 考验二刺猿浓度了,做得出4~6题就可以rand60次左右出结果。

#include<bits/stdc++.h>
using namespace std;
int main()
    cout<<"DEBADCABCB";
    return 0;

I 暴力打表可以发现后面的数都是e即2.718不会变了
scanf读个前面几位然后直接输出就行。

//打表
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
typedef long long LL;

LL pows(LL a, LL x)if(x==0)return 1; LL t = pows(a, x>>1);if(x%2==0)return t*t;return t*t*a;

int main()
    for(int i = 1; i <= 500000; i++)
        double x = i;
        double k = (x + 1) * 1.0 / x;
        double ans = pow(k, x);
        cout<<i<<": ";
        printf("%.3lf\\n", ans);
    
    return 0;


//AC
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
typedef long long LL;

LL pows(LL a, LL x)if(x==0)return 1; LL t = pows(a, x>>1);if(x%2==0)return t*t;return t*t*a;
void f(LL x)
	double k = (x + 1) * 1.0 / x;
	double ans = pow(k, x);
	printf("%.3lf\\n", ans);


int main()
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int x;  scanf("%9d",&x);
    f(x);
    return 0;


J 可以根据样例发现,2倍和3倍的时候就是1的时候每个字符输出n次,每行输出n遍,所以套两个循环就行。
难度在于把样例1存到字符串里,可以每次getline读进来,然后输出到文件,每行收尾加个",最后加个逗号,然后拷贝出来当字符串数组用。
对于转移字符\\,直接替换所有\\为\\\\即可。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
string s[45] = 
"@@@@@@@@@@@@@@@@@@@^              ,]]OO[[[[[[[O]]`                                   .....",
"@@@@@@@@@@@@@@@@@@@@^       ,//[.,]]]]]*.***....    ,[\\\\`                              ....",
"  \\\\@@@@@@@@@@@@@@@@@@^  ]@@@@@OOoooooOO@@@@@\\\\],.... . .  ,\\\\`                           ...",
"]]]]`\\\\@@@@@@@@@@@@@@@@@@@@@OOOOo/[[[[[[\\\\[@@@@@@@@].... ..    \\\\`                         ..",
"@@@@@@@@@@@@@@@@@@@@@@@@@[....................,[O@@@\\\\ .   .    ,\\\\......                  .",
"@@@@@@@@@@@@@@@@@@@@@`.o`..,*...........**. ...... ,\\\\@@`    .     .   .......            .",
"@@@@@@@@@@@@@@@@@/`,`.o`................... . ... ..  .\\\\@`    .     \\\\..      .....        ",
"@@@@@@@@@@@@@@@/`*`/.*^..................*. . .. ..  .   ,\\\\     .    ,\\\\,/``*.             ",
"@@@@@@/`.=O@@`/^`=,..=^..........*......... ...  ..    .   \\\\` ... ...  ,`\\\\OOoo\\\\/.].       ",
"@@@@`.. /\\\\@^/oo=.O...=*...........,`...*.. ......  ..   .   .\\\\.\\\\` ...... \\\\.*[oOOOooo\\\\]`   ",
"@` ....@=@/o\\\\o^^.O...]^*`......*....*,.** .......  .  .. .    \\\\ ... ..... \\\\....**[\\\\oooo\\\\=\\\\",
"OOOOOO@/OO//o/O..^.*.[=^..^......*...,*` .....  .. . .. ....   \\\\,`.. ..... =.....****,\\\\^oo",
"OOOO\\\\^*/,**[o`O..^ ...`,`.=.*......*`..,`\\\\....    ...  ...... . \\\\..O`   ... ......*****,*,",
"O/,`/*=``**^*`=..^ .....*`.,.........,` .,`\\\\. .   .....  ..... . \\\\....\\\\ ,,.. =]`...*******",
",*^o**/,*`./,o=..=........`=^`,`....   .\\\\` ,\\\\\\\\`. . ..... .. ..... \\\\.....].. ..\\\\  `..,****,",
"``=^*=*`,**=*..^.,`.........=/\\\\ \\\\` .     ....,[/\\\\....... ....,`...,/\\\\]*`.,`` =.^ =.......*",
"**o**^*`o**=`..\\\\..^..........\\\\*,. \\\\   ..  . . ...`,\\\\... `... .\\\\\\\\.. ,\\\\*\\\\...  ,,`.^*..  ....",
"*=^**^=*^**.,..,^.=^........ .,..\\\\. .................. /`.... =.=`. ..,,[O]*,`[]...^      ",
"*/**=`=*^***.\\\\../..``   ..    .`...*` ...... ....... ,`.    . =...^ .*...,`O.  ..,^       ",
"*o**=*==^**.=/^..,.=`\\\\.. ..... .`  ..,\\\\` .... ...../`.      . =`...`.....^...,\\\\*..\\\\       ",
"*o,^=*==^*`,,Oo^.*,.\\\\.,`...,.....\\\\    ...[.]....*]]].       .............^.. =*,\\\\  ,`     ",
"`o=^=*\\\\=^.O*.=\\\\,^.*,`\\\\..,`....,\\\\`.,`      ..,`.  ,]..       .........   ,\\\\... =`*,\\\\  =`...",
"*o=^=*,=/^O*.=O.*...*\\\\\\\\*..,\\\\`.....   . ..`/`.]/@@O@@OO@@@@\\\\[[.. .....,`,` ,.. ,.\\\\...[]..,`",
"]O/\\\\//oOO*O...O***,`.*,o..`..,\\\\`  ....,]=`.,OO@/@\\\\OOO. =],\\\\.=.. .. . .   ` ... \\\\. `.***., ",
".=OOoO\\\\OO,=^..=^*. .,,..[`..\\\\]^,`,[**.... /O/`.=\\\\oO\\\\OO[OO`, ^. .. ....,... ,....=`. [`....",
"..@/OOO\\\\O^=O...\\\\*. .. .,..=]\\\\.....[`...  ..`.. =/^*\\\\OO^.=^ =....    .*. ,  O... ..*..  ...",
"..=@=OO^\\\\O,O^..=`/.                             \\\\`      =..O.....  ..  .* =.,\\\\`.  ...,.   ",
"...\\\\/OOO=\\\\^=O`..O`                                \\\\....,.,......  .  ... ,^*.....`[\\\\/,[`  ",
"..,=@/\\\\O\\\\^O=/\\\\`.,^.                                       ...... . .    ,[`\\\\`....... .....",
".=o=O/O/O^^OO,O`.=`                                       ,...... .^  .**..,\\\\.\\\\`.... .....",
"\\\\[/*O=O].\\\\/^O^`\\\\/..       ,[...                           ^ ....  =*Oo*****..**,..`.  . ..",
",`,`,O\\\\\\\\O\\\\`..`,[[..\\\\.    ../@@@\\\\.                        .^ ...  ./**\\\\\\\\***,`......`*...../",
"**\\\\**=O^*,\\\\O\\\\]]][,\\\\.\\\\,` ./@@/       .                    .^ ...  /^`**,O...*.........  .` ",
"**,***=O***,\\\\\\\\^O^,`\\\\.\\\\,\\\\,@/                              .o ... /O^*`***\\\\`..**....... /   ",
"*******,\\\\.**..\\\\O^,]`\\\\.[,O^                   ,...  \\\\     .=`  . \\\\O^*****/*\\\\`..*,....,`  ,/",
"*.*******.../\\\\/^`\\\\^O\\\\^\\\\.\\\\\\\\\\\\               ,`.........     .\\\\.    ,O`o,***,,`\\\\`..*\\\\/` ,/`..",
"*****...,/[/oo//o\\\\/,/`,^O].\\\\`             \\\\.........       ,O`. .   [...***`**,\\\\/.]/^**...",
"...]/O\\\\/ooooOo\\\\//.,^^,*^Oo=OO`              ,.....        =`,*\\\\` ....  .....`,*/`[Oo\\\\`]*/`",
"O\\\\]o\\\\]o\\\\\\\\/OO[\\\\...=\\\\\\\\**=^Oo.Oo/\\\\`                         O,``*/  ......,]//`,`\\\\]`****[/...",
"O`..,O[o.....     ,[\\\\]=`O\\\\[[``..,[\\\\`                   /`[/*][.        .,\\\\/\\\\\\\\`*****,/.....",
"  [\\\\/oO`..,]`...   ..,^`,,**]/O/[\\\\]..,OOO\\\\]]`..      /`\\\\]/`           . . ,\\\\o/\\\\]]][.,,*`  ",
"     \\\\^/`**.         o*,//`=.OoO`**=`**,OooO\\\\O,,*,\\\\,=O/\\\\..         ....       ,O`       .`",
"       \\\\.**.        =/\\\\^***^.=OO^*]]O,//[/[*.*.=`/[[O,o=\\\\*      ...         .,        ....",
"        \\\\`*.       =o`O***=`..=OO[^....\\\\.....*/\\\\/**o\\\\\\\\oo=O               `  `    ........."
;

int main()
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    // freopen("task.txt","w",stdout);
    int n;  cin>>n;
    for(int i = 0; i < 45; i++)
        for(int kk = 0; kk < n; kk++)
            for(int j = 0; j < s[i].size(); j++)
                for(int k = 0; k < n; k++)
                    cout<<s[i][j];
                
            
            cout<<"\\n";
        
    
    return 0;


以上是关于牛客2022年愚人节比赛,10题做法完整版的主要内容,如果未能解决你的问题,请参考以下文章

牛客2021年愚人节比赛 题解

2021年长安杯电子数据取证比赛复盘完整版(wp)

自定义ava数据集及训练与测试 完整版 时空动作/行为 视频数据集制作 yolov5, deep sort, VIA MMAction, SlowFast

牛客2022年除夕AK场

自定义ava数据集及训练与测试 完整版 时空动作/行为 视频数据集制作 yolov5, deep sort, VIA MMAction, SlowFast

自定义ava数据集及训练与测试 完整版 时空动作/行为 视频数据集制作 yolov5, deep sort, VIA MMAction, SlowFast