2020年5月月赛丙组——上海市计算机学会竞赛平台

T1

戴口罩

#include
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<     return 0;
}
 

 

T2

计算GPA

#include
using namespace std;

double k,n;
int main() {
    string a;
    cin>>a;
    for (int i=0;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         if (a[i]>='A'&&a[i]<='D')n++;
    }
    printf("%.2lf",k/n);
    return 0;
}
 

T3

扫雷

 

#include
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<         }
        cout<     }
    return 0;
}
 

T4

增长与翻倍

 

#include
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<     return 0;
}
 

T5

最大回撤

 

#include
using namespace std;

stack s;
int main() {
    int n,p;
    int maxn=0;
    cin>>n;
    s.push(-100100);
    for (int i=0;i         cin>>p;
        if (p>s.top())s.push(p);
        else {
            int sum=s.top();
            int k=sum-p;
            maxn=max(maxn,k);
        }
    }
    cout<     return 0;
}
 

你可能感兴趣的:(算法,c++,数据结构,YACS,月赛)