[蓝桥杯 2020 省 AB1] 解码
1 #include<bits/stdc++.h>
2 using namespace std;
3 string s;
4 char ch;
5 int x,res;
6 int main()
7 {
8 cin>>s;
9 for(int i=0;i<s.size();i++)
10 {
11 if(s[i]<='0'||s[i]>'9')
12 {
13 if(s[i+1]<='0'||s[i+1]>'9') {cout<<s[i];continue;}
14 else if(s[i+1]>='0'&&s[i+1]<='9')
15 {
16 res=s[i+1]-'0';
17 for(int j=0;j<res;j++) cout<<s[i];
18 i++;
19 }
20 }
21 }
22 return 0;
23 }
[蓝桥杯 2013 省 AB] 错误票据
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int N=1e6+10;
4 long long n,a[N],res,ans,m;
5 bool vis[N],f,p;
6 int main()
7 {
8 cin>>n;
9 while(cin>>a[m]) m++;
10 sort(a,a+m);
11 //cout<<m<<endl;
12 for(int i=0;i<m;i++)
13 {
14 if(a[i]+1<a[i+1]&&!f) res=a[i]+1,f=true;//注意这里不能是!=,必须是小于
15 if(a[i]==a[i+1]&&!p) ans=a[i],p=true;
16 if(ans!=0&&res!=0) break;
17 // cout<<a[i]<<' ';
18 }
19 cout<<res<<" "<<ans;
20 return 0;
21 }
[蓝桥杯 2015 省 A] 饮料换购
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int N=1e5+10;
4 int n,res,x,rest,m;
5 int main()
6 {
7 cin>>n;
8 n*=3;//将所有的全部变成瓶盖来算
9 while(n>=3)
10 {
11 res+=n/3;
12 n=n/3+n%3;
13 }
14 cout<<res;
15 return 0;
16 }
[蓝桥杯 2018 省 A] 航班时间
1 #include<bits/stdc++.h>
2 using namespace std;
3 int main()
4 {
5 int t;
6 cin>>t;
7 while(t--)
8 {
9 int x[2]={0};
10 for(int i=0;i<2;i++)
11 {
12 int h1,h2,m1,m2,s1,s2,d=0;
13 scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
14 if(getchar()==' ') scanf("(+%d)",&d);
15 x[i]=(d*86400+h2*3600+m2*60+s2)-(h1*3600+m1*60+s1);
16 }
17 int ans=(x[0]+x[1])/2;
18 printf("%02d:%02d:%02d\n",ans/3600,ans%3600/60,ans%60);
19
20 }
21 return 0;
22 }
[蓝桥杯 2021 省 B] 时间显示
1 #include<bits/stdc++.h>
2 using namespace std;
3 long long t,hh,ss,mm;
4 int main()
5 {
6 cin>>t;
7 hh=(t/3600000)%24,mm=(t/60000)%60,ss=(t/1000)%60;
8 printf("%02lld:%02lld:%02lld",hh,mm,ss);
9 }
[蓝桥杯 2018 省 B] 螺旋折线
1 #include<bits/stdc++.h>
2 using namespace std;
3 long long x,y,res,p;
4 int main()
5 {
6 cin>>x>>y;
7 p=max(abs(x),abs(y));
8 if(x>=0&&y>=0) res=(p+p)*(p+p),res-=(p-x),res+=(p-y);//第一象限
9 if(x<=0&&y>=0) res=(p+p)*(p+p),res-=p-x,res-=p-y;//第二象限
10 if(x>=0&&y<=0) res=(p+p)*(p+p),res+=p-x,res+=p-y;//第四象限
11 if(x<=0&&y<=0){//第三象限,最难处理的点
12 if(abs(y)>=abs(x)) res=(p*2)*(p*2+1),res+=p-x;//如果y比x要大,就从第四象限开始搜,向左横推
13 else res=(p*2)*(p*2-1),res-=p-y;//否则就是从第二象限开始向下推
14 }
15 cout<<res;
16 return 0;
17 }