T1
戴口罩
#include <bits/stdc++.h>
using namespace std;int main() {
int t=5,k=5,n,z=1;
cin>>n;
while (k!=n){
if (z==1||z==2)k+=7;
k--;
t++;
if (z==7)z=1;
else z++;
}
cout<<t;
return 0;
}
T2
计算GPA
#include <bits/stdc++.h>
using namespace std;double k,n;
int main() {
string a;
cin>>a;
for (int i=0;i<a.length();i++){
if (a[i]=='A')k+=4;
else if (a[i]=='B')k+=3;
else if (a[i]=='C')k+=2;
else if (a[i]=='D')k+=1;
else if (a[i]=='+')k+=0.3;
else if (a[i]=='-')k-=0.3;
}
for (int i=0;i<a.length();i++){
if (a[i]>='A'&&a[i]<='D')n++;
}
printf("%.2lf",k/n);
return 0;
}
T3
扫雷
#include <bits/stdc++.h>
using namespace std;int a[101][101];
int dr[8][2]={{0,1},{0,-1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}};void f(int x,int y){
int k=0;
for (int i=0;i<8;i++){
if (a[x+dr[i][0]][y+dr[i][1]]==-2)k++;
}
if (a[x][y]==-1)a[x][y]=k;
}int main() {
int n,m;
char q;
cin>>n>>m;
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
cin>>q;
if (q=='.')a[i][j]=-1;
if (q=='*')a[i][j]=-2;
}
}
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
f(i,j);
if (a[i][j]==-2)cout<<"*";
else cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
T4
增长与翻倍
#include <bits/stdc++.h>
using namespace std;int main() {
int s,t,k=0;
cin>>s>>t;
while (s!=t){
if (t>=2*s&&t%2==0)t/=2;
else t--;
k++;
}
cout<<k;
return 0;
}
T5
最大回撤
#include <bits/stdc++.h>
using namespace std;stack<int> s;
int main() {
int n,p;
int maxn=0;
cin>>n;
s.push(-100100);
for (int i=0;i<n;i++){
cin>>p;
if (p>s.top())s.push(p);
else {
int sum=s.top();
int k=sum-p;
maxn=max(maxn,k);
}
}
cout<<maxn;
return 0;
}