【牛客训练记录】牛客2025年除夕娱乐赛
训练情况

赛后反思
据说是临时准备的,今年好像没啥乐子题,除了两道猜猜题
A题
构造一个字符串使得 jiaran 子串至少出现 114514 次,直接输出 114514 次 jiaran
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
for(int i = 1;i<=114514;i++) cout<<"jiaran";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
B题
判断回文子串个数,直接枚举子串即可
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
string s = "((()))";
int n = s.size();
int ans = 0;
for(int i = 2;i<=n;i++){
for(int j = 0;j+i-1<n;j++){
string t = s.substr(j,i);
string tt = t ;
reverse(t.begin(),t.end());
if(t == tt) ans++;
}
}
cout<<ans<<endl;
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
C题
今天是除夕
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
cout<<"除夕";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
D题
简单的时间问题,全部化成秒去减,注意一下特判 24:00:00 要输出 00:00:00
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
int h,m;
scanf("%d:%d",&h,&m);
int now = 24*60*60 - h*60 - m;
if(now == 24*60*60) now = 0;
printf("%.2d:%.2d:%.2d",now/3600,now%3600/60,now%60);
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
E题
首先 1 肯定可以被整除,八进制转十进制需要乘 \(8^x\),所以 2 结尾的加上 8 的倍数可以被 2 整除,结尾是 4 的要被整除需要满足后两位能被 4 整除,显然加上 8 的倍数都满足,故输出 1 2 4
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
cout<<"1 2 4";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
F题
考公题,略
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
cout<<"幽默";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
I题
构造一个逆序对小于 \(m\) 的数列,我们直接构造逆序对为 \(0\) 的数列即可,直接输出 1~n
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
int n,m; cin>>n>>m;
for(int i = 1;i<=n;i++) cout<<i<<" ";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}
J题
众所周知,python的图标有点像蛇
点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
using namespace std;
void solve(){
cout<<"python";
}
signed main(){
// int T; cin>>T; while(T--)
solve();
return 0;
}

浙公网安备 33010602011771号