题解(自记录) | 牛客寒假集训营20250126第三场比赛

A.智乃的博弈游戏

题目:https://ac.nowcoder.com/acm/contest/95335/A

#include<bits/stdc++.h>

using namespace std;

#define ll long long

int main() {

ll x;

cin >> x;

if(x%2==0)cout << "No";

else cout << "Yes";

}

题解思路:题目本质上就是奇偶判断,若为偶数则仅能拿走奇数个,后手可以直接拿走奇数-2获得胜利,若为奇数则如上直接胜利.

B.智乃的质数手串

题目:https://ac.nowcoder.com/acm/contest/95335/B

C.智乃的Notepad(Easy version)

题目:https://ac.nowcoder.com/acm/contest/95335/C

D.智乃的Notepad(Hard version)

题目:https://ac.nowcoder.com/acm/contest/95335/D

E.智乃的小球

题目:https://ac.nowcoder.com/acm/contest/95335/E

F.智乃的捉迷藏

题目:https://ac.nowcoder.com/acm/contest/95335/F

#include<bits/stdc++.h>

using namespace std;

#define ll long long

int main() {

ll T;

cin >> T;

while(T--){

int n,a,b,c;

scanf("%d %d %d %d",&n,&a,&b,&c);

if(a+b+c>2*n||a+b+c<n)cout << "No" << endl;

else cout << "Yes" << endl;

}

}

题解思路:存在n个人,让小A小B小C分别看到a,b,c个人直接计算最小状态为a+b+c,最大状态为(a+b+c)*2如果n介于这两个区间内则可以成立,反之不成立

G.智乃与模数

题目:https://ac.nowcoder.com/acm/contest/95335/G

H.智乃与黑白树

题目:https://ac.nowcoder.com/acm/contest/95335/H

I.智乃的兔子跳

题目:https://ac.nowcoder.com/acm/contest/95335/I

J.智乃画二叉树

题目:https://ac.nowcoder.com/acm/contest/95335/J

K.智乃的逆序数

题目:https://ac.nowcoder.com/acm/contest/95335/K

L.智乃的三角遍历

题目:https://ac.nowcoder.com/acm/contest/95335/L

#include<bits/stdc++.h>

#define ll long long

using namespace std;

int main() {

int n;

cin >> n;

cout << "YES" << endl;

if(n == 1)

{

cout<<"1 2 3 1"<<endl;

}

if(n == 2)

{

cout<<"1 2 4 5 2 3 5 6 3 1"<<endl;

}

if(n == 3)

{

cout<<"1 2 4 7 8 4 5 8 9 5 2 3 5 6 9 10 6 3 1"<<endl;

}

if(n == 4)

{

cout<<"1 2 4 7 11 12 7 8 12 13 8 4 5 8 9 13 14 9 5 2 3 5 6 9 10 14 15 10 6 3 1"<<endl;

}

if(n == 5)

{

cout<<"1 2 4 7 11 16 17 11 12 17 18 12 7 8 12 13 18 19 13 8 4 5 8 9 13 14 19 20 14 9 5 2 3 5 6 9 10 14 15 20 21 15 10 6 3 1"<<endl;

}

if(n == 6)

{

cout<<"1 2 4 7 11 16 22 23 16 17 23 24 17 11 12 17 18 24 25 18 12 7 8 12 13 18 19 25 26 19 13 8 4 5 8 9 13 14 19 20 26 27 20 14 9 5 2 3 5 6 9 10 14 15 20 21 27 28 21 15 10 6 3 1"<<endl;

}

if(n == 7)

{

cout<<"1 2 4 7 11 16 22 29 30 22 23 30 31 23 16 17 23 24 31 32 24 17 11 12 17 18 24 25 32 33 25 18 12 7 8 12 13 18 19 25 26 33 34 26 19 13 8 4 5 8 9 13 14 19 20 26 27 34 35 27 20 14 9 5 2 3 5 6 9 10 14 15 20 21 27 28 35 36 28 21 15 10 6 3 1"<<endl;

}

}

题解思路:本题数据仅为1-7,所以选择直接输出,也可采用dfs的欧拉回路进行,但比较麻烦。

M. 智乃的牛题

题目:https://ac.nowcoder.com/acm/contest/95335/M

#include<bits/stdc++.h>

using namespace std;

#define ll long long

int main() {

string a="cdenoorw";

string b;

getline(cin,b);

sort(b.begin(),b.end());

if(a==b)cout << "happy new year";

else cout << "I AK IOI";

}

题解思路:题目要求输入的字母是否能拼成nowcoder那么将输入的字符串进行排序然后和已经排序好的字符串比较,如果相同则能否则不能。

全部评论

相关推荐

今天 11:21
复旦大学 Java
点赞 评论 收藏
分享
11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务