- C++
五一信奥蓝桥集训--下午专题冲刺
- 2024-5-5 14:41:38 @
//小凯的数字
//两个重点:
//1、任何数除以9的余数==这个数每一位之和除以9的余数
//2、任意九个等差数列之和是9的倍数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;cin>>n;
for(int i=1;i<=n;i++){
long long l,r,ans=0;
cin>>l>>r;
int cnt=(r-l+1)%9;
for(int j=0;j<cnt;j++)
ans+=l+j;
cout<<ans%9<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
bool isp(int x){
for(int i=2;i*i<=x;i++)
if(x%i==0) return 0;
return 1;
}
int main(){
int n;cin>>n;
for(int i=2;i<=n;i++){
if(isp(i)){
for(int j=i;j<=n;j++)
if(isp(j) and isp(n-i-j) and n-i-j>=j){
cout<<i<<" "<<j<<" "<<n-i-j;
return 0;
}
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b){
return a+b>b+a;
}
int main(){
int n;
string s[21];
cin>>n;
for(int i=0;i<=n-1;i++) cin>>s[i];
sort(s,s+n,cmp);
for(int i=0;i<=n-1;i++) cout<<s[i];
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;int n;
cin>>s>>n;
for(int i=1;i<=n;i++){
int j=0;int len=s.size();
for(;j<len-1;j++){
if(s[j]>s[j+1]){
s.erase(j,1);
break;
}
}
if(j==len-1) s.erase(j,1);
}
while(s[0]=='0') s.erase(0,1);
if(s.size()==0) cout<<0;
else cout<<s;
return 0;
}
// 线性dp
#include<bits/stdc++.h>
using namespace std;
int go[209],f[209],n,a,b;
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
cin>>go[i],f[i]=1e9;
f[a]=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(j+go[j]<=n) f[j+go[j]]=min(f[j+go[j]],f[j]+1);
if(j-go[j]>=1) f[j-go[j]]=min(f[j-go[j]],f[j]+1);
}
}
if(f[b]==1e9) cout<<-1;
else cout<<f[b];
return 0;
}
// dfs
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int q[N];//q为第几层
int k[N];//k存每层上的按钮数字
int a[N];//a走到这一层要几步
int b[N];//这一层是否走过
int main(){
int x,y,n;//x是出发楼层,y是终点楼层,n总楼层数
cin>>n>>x>>y;
for(int i=1;i<=n;i++) cin>>k[i];
b[x]=1;
q[1]=x;
int ll=0,rr=1;
do{
ll++;
for(int i=-1;i<=1;i+=2){//上下两个方向
int newlou=q[ll]+k[q[ll]]*i;
if(newlou>0&&newlou<=n&&!b[newlou]){
rr++;
q[rr]=newlou;
b[newlou]=1;
a[rr]=a[ll]+1;
}
}
}while(ll!=rr&&q[ll]!=y);
if(x==y)cout<<0<<endl;
else if(q[ll]==y)cout<<a[ll]<<endl;
else cout<<-1<<endl;
return 0;
}
0 条评论
目前还没有评论...