A简单输出
题目链接
简单的模拟一下就好了,注意是多组样例就行。
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
cout<<endl;
}
int main(){
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
B 删除
题目链接
这里涉及到了 小学数学奥赛的一些基础知识,可以学习或者记录一下
能被8整除,等价于后三位可以被8整除
知道这个之后我们只需要枚举三位判断就好了
#include<bits/stdc++.h>
using namespace std;
void solve(){
string s;
cin>>s;
s="00"+s;
for(int i=0;i<s.size();i++){
for(int j=i+1;j<s.size();j++){
for(int k=j+1;k<s.size();k++){
int ans=s[i]*100+s[j]*10+s[k]-111*'0';
if(ans%8==0){
cout<<"YES"<<endl;
printf("%d",ans);
return ;
}
}
}
}
cout<<"NO"<<endl;
return ;
}
int main(){
int t;
t=1;
while(t--){
solve();
}
return 0;
}
C 牛的基因学
题目链接
主要是读懂题就知道啥意思了,可能是数据量比较大,所以用一个快速幂就可以解决掉这个烦恼。
#include<bits/stdc++.h>
using namespace std;
const int N=4;
int cnt[N];
const int mod=1e9+7;
int kuaisumi(int a, int k)
{
int res = 1;
while (k)
{
if (k & 1) res = 1ll * res * a % mod;
a = 1ll * a * a % mod;
k >>= 1;
}
return res;
}
void solve(){
int n;
string s;
// std::set<char,int> st;
cin>>n;
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='A'){
cnt[0]++;
}
else if(s[i]=='C'){
cnt[1]++;
}
else if(s[i]=='G'){
cnt[2]++;
}
else{
cnt[3]++;
}
}
sort(cnt,cnt+N);
int ans=0;
for(int i=0;i<N;i++){
if(cnt[i]==cnt[3]){
ans++;
}
}
if(ans==1){
cout<<1<<endl;
}
else{
cout<<kuaisumi(ans,n)<<endl;
}
}
int main(){
int t;
t=1;
while(t--){
solve();
}
return 0;
}
标签:std,周赛,int,res,cin,122,solve,mod,Acwing
From: https://www.cnblogs.com/du463/p/17725915.html