zoukankan      html  css  js  c++  java
  • PTA L1题目合集(更新至2019.3)

    L1-001 Hello World (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805147132084224

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("Hello World!
    ");
        return 0;
    }
    View Code

    L1-002 打印沙漏 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805145370476544

    思路:利用等差数列求和,算出利用当前N 最多可以搭建的层数(单侧) 然后模拟

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    char x;
    
    int main(){
        scanf("%d %c",&n,&x);
        int pos=0;
        while(((3+(2*pos+1))*pos+2*(2*(pos+1)+1))<(n-1)){
            pos++;
        }
    //    printf("%d
    ",pos);
        for(int i=0;i<=pos;i++){
            for(int j=0;j<i;j++){
                printf(" ");
            }
            for(int j=0;j<2*pos+1-2*i;j++){
                printf("%c",x);
            }
            printf("
    ");
        }
        for(int i=pos-1;i>=0;i--){
            for(int j=0;j<i;j++){
                printf(" ");
            }
            for(int j=0;j<2*pos+1-2*i;j++){
                printf("%c",x);
            }
            printf("
    ");
        }
        printf("%d
    ",n-((3+2*pos+1)*pos+1));
        return 0;
    }
    View Code

    L1-003 个位数统计 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805143738892288

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int cnt[15];
    char s[maxn];
    
    int main(){
        scanf("%s",s);
        int len=strlen(s);
        memset(cnt,0,sizeof(cnt));
        for(int i=0;i<len;i++){
            cnt[s[i]-'0']++;
        }
        for(int i=0;i<=9;i++){
            if(cnt[i]!=0)
            printf("%d:%d
    ",i,cnt[i]);
        }
        return 0;
    }
    View Code

    L1-004 计算摄氏温度 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805142086336512

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        printf("Celsius = %d
    ",5*(n-32)/9);
        return 0;
    }
    View Code

    L1-005 考试座位号 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805140211482624

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int n,m,x;
    
    struct node{
        char a[50];
        int b,c;
    }kk[maxn];
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%s %d %d",kk[i].a,&kk[i].b,&kk[i].c);
        }
        scanf("%d",&m);
        for(int i=1;i<=m;i++){
            scanf("%d",&x);
            for(int j=1;j<=n;j++){
                if(x==kk[j].b){
                    printf("%s %d
    ",kk[j].a,kk[j].c);
                }
            }
        }
        return 0;
    }
    View Code

    L1-006 连续因子 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805138600869888

    思路:枚举可能开始连续的位置j 对于每个j都判断能否组成N 如果可以 纪录长度取max

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    ll n;
    
    int main(){
        scanf("%lld",&n);
        ll sum=0;
        int st=0,len=0;
        for(int i=2;i<=sqrt(n);i++){
            sum=1;
            for(int j=i;j*sum<=n;j++){
                sum*=j;
                if(n%sum==0 && j-i+1>len){
                    st=i;
                    len=j-i+1;
                }
            }
        }
        if(st==0){
            st=n;
            len=1;
        }
        printf("%d
    %d",len,st);
        for(int i=st+1;i<st+len;i++){
            printf("*%d",i);
        }
        printf("
    ");
        return 0;
    }
    View Code

    L1-007 念数字 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805136889593856

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    char n[1010];
    
    int main(){
        scanf("%s",n);
        int len=strlen(n);
        string s[11]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
        if(n[0]=='-'){
            printf("fu ");
            for(int i=1;i<len-1;i++){
                cout<<s[n[i]-'0']<<" ";
            }
            cout<<s[n[len-1]-'0']<<endl;
        }
        else{
            for(int i=0;i<len-1;i++){
                cout<<s[n[i]-'0']<<" ";
            }
            cout<<s[n[len-1]-'0']<<endl;
        }
    
        return 0;
    }
    View Code

    L1-008 求整数段和 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805135224455168

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int a,b;
    
    int main(){
        scanf("%d%d",&a,&b);
        int cnt=0,sum=0;
        for(int i=a;i<=b;i++){
            cnt++;
            sum+=i;
            printf("%5d",i);
            if(cnt==5){
                printf("
    ");
                cnt=0;
            }
        }
        if((b-a+1)%5!=0) printf("
    ");
        printf("Sum = %d
    ",sum);
        return 0;
    }
    View Code

    L1-009 N个数求和 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805133597065216

    思路:在通分的时候会爆int 选择了用long double 先除后乘

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=110;
    int n;
    ll a[maxn],b[maxn];
    
    int main(){
        (void)scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%lld/%lld",&a[i],&b[i]);
        }
        ll sum1=a[1],sum2=b[1];
        for(int i=2;i<=n;i++){
            ll tmp=__gcd(sum2,b[i]);
            ll ans=(long double)sum2/(long double)tmp*b[i];
            sum1=(long double)a[i]/(long double)b[i]*ans+(long double)sum1/(long double)sum2*ans;
            sum2=ans;
            ll tmp2=__gcd(sum1,sum2);
            //int ans2=sum1*sum2/tmp2;
            sum1/=tmp2;
            sum2/=tmp2;
        }
        ll t=0;
        t=sum1/sum2;
        sum1-=t*sum2;
        if(t==0 && sum1!=0) printf("%lld/%lld
    ",sum1,sum2);
        else if(t!=0 && sum1!=0) printf("%lld %lld/%lld
    ",t,sum1,sum2);
        else if(sum1==0) printf("%lld
    ",t);
        return 0;
    }
    View Code

    L1-010 比较大小 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805132040978432

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int a[5];
    
    int main(){
        scanf("%d%d%d",&a[0],&a[1],&a[2]);
        sort(a,a+3);
        printf("%d->%d->%d
    ",a[0],a[1],a[2]);
        return 0;
    }
    View Code

    L1-011 A-B (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805130426171392

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int cnt[300];
    string a,b;
    
    int main(){
        getline(cin,a);
        getline(cin,b);
        for(int i=0;i<b.length();i++){
            cnt[b[i]]=1;
        }
        for(int i=0;i<a.length();i++){
            if(cnt[a[i]]==1) continue;
            cout<<a[i];
        }
        cout<<endl;
        return 0;
    }
    View Code

    L1-012 计算指数 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805128870084608

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int a=pow(2,n);
        printf("2^%d = %d
    ",n,a);
        return 0;
    }
    View Code

    L1-013 计算阶乘和 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805127389495296

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            int tmp=1;
            for(int j=1;j<=i;j++){
                tmp*=j;
            }
            sum+=tmp;
        }
        printf("%d
    ",sum);
        return 0;
    }#include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            int tmp=1;
            for(int j=1;j<=i;j++){
                tmp*=j;
            }
            sum+=tmp;
        }
        printf("%d
    ",sum);
        return 0;
    }#include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            int tmp=1;
            for(int j=1;j<=i;j++){
                tmp*=j;
            }
            sum+=tmp;
        }
        printf("%d
    ",sum);
        return 0;
    }#include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            int tmp=1;
            for(int j=1;j<=i;j++){
                tmp*=j;
            }
            sum+=tmp;
        }
        printf("%d
    ",sum);
        return 0;
    }#include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            int tmp=1;
            for(int j=1;j<=i;j++){
                tmp*=j;
            }
            sum+=tmp;
        }
        printf("%d
    ",sum);
        return 0;
    }
    View Code

    L1-014 简单题 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805125929877504

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("This is a simple problem.
    ");
        return 0;
    }
    View Code

    L1-015 跟奥巴马一起画方块 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805124398956544

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    char x;
    
    int main(){
        scanf("%d %c",&n,&x);
        int m;
        if(n%2==1) m=n/2+1;
        else m=n/2;
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                printf("%c",x);
            }
            printf("
    ");
        }
        return 0;
    }
    View Code

    L1-016 查验身份证 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805122985476096

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
     
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,ans[110];
    char s[110][50];
     
    const int a[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    const int b[12]={1,0,'X'-'0',9,8,7,6,5,4,3,2};
    
    int main(){
         scanf("%d",&n);
         int flag=0;
         for(int id=1;id<=n;id++){
             scanf("%s",s[id]);
             int sum=0,cnt=0;
             for(int i=0;i<17;i++){
                 if(s[id][i]-'0'<0 || s[id][i]-'0'>9) cnt++;
                 else sum+=((s[id][i]-'0')*a[i]);
             }
         //    printf("%d
    ",cnt);
             if(cnt!=0){
                 ans[flag++]=id;
                 continue;
             }
             else{
                 sum%=11;
                 if(s[id][17]-'0'!=b[sum]) ans[flag++]=id;
             }
         }
         if(flag==0){
             printf("All passed
    ");
         }
         else{
             for(int i=0;i<flag;i++){
                 printf("%s
    ",s[ans[i]]);
             }
         }
        return 0;
    }
    View Code

    L1-017 到底有多二 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805121500692480

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    char s[50];
    
    int main(){
        scanf("%s",s);
        int len=strlen(s);
        int n=len,cnt=0;
        double tmp=1.0;
        if(s[0]=='-'){
            n--;
            tmp=1.5;
        }
        for(int i=0;i<len;i++){
            if(s[i]-'0'==2) cnt++;
        }
        int flag=1;
        if((s[len-1]-'0')%2==0) flag=2;
        double ans=(double)cnt/(double)n*tmp*flag*100;
        printf("%.2f%%
    ",ans);
        return 0;
    }
    View Code

    L1-018 大笨钟 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805119944605696

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int hh,mm;
    
    int main(){
        scanf("%d:%d",&hh,&mm);
        if(hh>=0 && hh<=12) printf("Only %02d:%02d.  Too early to Dang.
    ",hh,mm);
        else{
            if(mm==0){
                for(int i=1;i<=hh-12;i++){
                    printf("Dang");
                }
                printf("
    ");
            }
            else{
                for(int i=1;i<=hh-12+1;i++){
                    printf("Dang");
                }
                printf("
    ");
            }
        }
        return 0;
    }
    View Code

    L1-019 谁先倒 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805118568873984

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=110;
    int a,b,n;
    int x[maxn],y[maxn],xx[maxn],yy[maxn];
    
    int main(){
        scanf("%d%d",&a,&b);
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d%d%d%d",&x[i],&xx[i],&y[i],&yy[i]);
        }
        int suma=0,sumb=0;
        for(int i=1;i<=n;i++){
            if(x[i]+y[i]==xx[i] && x[i]+y[i]!=yy[i]){
                suma++;
                if(suma>a) break;
            }
            if(x[i]+y[i]==yy[i] && x[i]+y[i]!=xx[i]){
                sumb++;
                if(sumb>b) break;
            }
        }
        if(suma>a) printf("A
    %d
    ",sumb);
        if(sumb>b) printf("B
    %d
    ",suma);
        return 0;
    }
    View Code

    L1-020 帅到没朋友 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805117167976448

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e6+10;
    int n,m,k,x,b;
    int vis[maxn];
    
    int main(){
        while(~scanf("%d",&n)){
            memset(vis,0,sizeof(vis));
            for(int i=1;i<=n;i++){
                scanf("%d",&k); 
                for(int j=1;j<=k;j++){
                    scanf("%d",&x);
                    if(k==1) break;
                    vis[x]=1;
                }
            }
            scanf("%d",&m);
            int cnt=0;
            for(int i=1;i<=m;i++){
                scanf("%d",&b);
                if(vis[b]==0){
                    if(++cnt>1) printf(" ");
                    printf("%05d",b);
                    vis[b]=1;
                }
            }
            if(cnt==0) printf("No one is handsome");
            printf("
    ");
        }
        return 0;
    }
    View Code

    L1-021 重要的话说三遍 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805115792244736

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("I'm gonna WIN!
    I'm gonna WIN!
    I'm gonna WIN!
    ");
        return 0;
    }
    View Code

    L1-022 奇偶分家 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805114445873152

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,x;
    
    int main(){
        scanf("%d",&n);
        int sum1=0,sum2=0;
        for(int i=1;i<=n;i++){
            scanf("%d",&x);
            if(x%2==1) sum1++;
            else sum2++;
        }
        printf("%d %d
    ",sum1,sum2);
        return 0;
    }
    View Code

    L1-023 输出GPLT (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805113036587008

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    int cnt[5];
    char s[maxn];
    
    int main(){
        scanf("%s",s);
        memset(cnt,0,sizeof(cnt));
        int len=strlen(s);
        for(int i=0;i<len;i++){
            if(s[i]=='G' || s[i]=='g') cnt[1]++;
            if(s[i]=='P' || s[i]=='p') cnt[2]++;
            if(s[i]=='L' || s[i]=='l') cnt[3]++;
            if(s[i]=='T' || s[i]=='t') cnt[4]++;
        }
    //    printf("%d %d %d %d
    ",cnt[1],cnt[2],cnt[3],cnt[4]);
        int tmp=max(cnt[1],max(cnt[2],max(cnt[3],cnt[4])));
        for(int i=1;i<=tmp;i++){
            if(cnt[1]>0){
                printf("G");
                cnt[1]--;
            }
            if(cnt[2]>0){
                printf("P");
                cnt[2]--;
            }
            if(cnt[3]>0){
                printf("L");
                cnt[3]--;
            }
            if(cnt[4]>0){
                printf("T");
                cnt[4]--;
            }
        }
        printf("
    ");
        return 0;
    }
    View Code

    L1-024 后天 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805111694409728

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        n=n+2;
        if(n>7) n=n%7;
        printf("%d
    ",n);
        return 0;
    }
    View Code

    L1-025 正整数A+B (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805110318678016

    思路:需要判断各种不符合的输入 包括小于1和大于一千的数据

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    char a[maxn];
    string b;
    
    int main(){
        scanf("%s ",a);
        getline(cin,b);
        int lena=strlen(a),lenb=b.length();
        int flaga=0,flagb=0;
        for(int i=0;i<lena;i++){
            if(a[i]-'0'<0 || a[i]-'0'>9) flaga=1;
        }
        for(int i=0;i<lenb;i++){
            if(b[i]-'0'<0 || b[i]-'0'>9) flagb=1;
        }
        int tmpa=0,tmpb=0,tmp=0;
        if(flaga==0 && flagb==0){
            for(int i=0;i<lena;i++){
                tmpa=tmpa*10+(a[i]-'0');
            }
            for(int i=0;i<lenb;i++){
                tmpb=tmpb*10+(b[i]-'0');
            }
            if(tmpa<1 || tmpa>1000) flaga=1;
            if(tmpb<1 || tmpb>1000) flagb=1;
            if(flaga==0 && flagb==0) tmp=tmpa+tmpb;
        }
        if(flaga==0 && flagb==0){
            printf("%s + ",a);
            cout<<b;
            printf(" = %d
    ",tmp);
        }
        else if(flaga==1 && flagb==0){
            printf("? + ");
            cout<<b;
            printf(" = ?
    ");
        }
        else if(flaga==0 && flagb==1){
            printf("%s + ? = ?
    ",a);
        }
        else if(flaga==1 && flagb==1){
            printf("? + ? = ?
    ");
        }
        return 0;
    }
    View Code

    L1-026 I Love GPLT (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805108934557696

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("I
     
    L
    o
    v
    e
     
    G
    P
    L
    T
    ");
        return 0;
    }
    View Code

    L1-027 出租 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805107638517760

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    char s[20];
    int vis[120],arr[120],kk[120];
    
    int main(){
        scanf("%s",s);
        int len=strlen(s);
        for(int i=0;i<len;i++){
            vis[s[i]-'0']=1;
        }
        int cnt=0;
        for(int i=9;i>=0;i--){
            if(vis[i]==1) arr[cnt++]=i;
        }
        for(int i=0;i<len;i++){
            for(int j=0;j<cnt;j++){
                if((s[i]-'0')==arr[j]) kk[i]=j;
            }
        }
        printf("int[] arr = new int[]{");
        for(int i=0;i<cnt-1;i++){
            printf("%d,",arr[i]);
        }
        printf("%d};
    ",arr[cnt-1]);
        printf("int[] index = new int[]{");
        for(int i=0;i<len-1;i++){
            printf("%d,",kk[i]);
        }
        printf("%d};
    ",kk[len-1]);
        return 0;
    }
    View Code

    L1-028 判断素数 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805106325700608

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,x;
    
    int main(){
        scanf("%d",&n);
        while(n--){
            scanf("%d",&x);
            int flag=0;
            for(int i=2;i<=sqrt(x);i++){
                if(x%i==0){
                    flag=1;
                    break;
                }
            }
            if(x==1) printf("No
    ");
            else if(x==2) printf("Yes
    ");
            else if(flag==1) printf("No
    ");
            else if(flag==0) printf("Yes
    ");
        }
        return 0;
    }
    View Code

    L1-029 是不是太胖了 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805104983523328

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        double m=((double)n-100)*0.9*2;
        printf("%.1f
    ",m);
        return 0;
    }
    View Code

    L1-030 一帮一 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805103557459968

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=55;
    int n;
    int vis[maxn],id[maxn];
    char s[maxn][15];
    
    struct node{
        string s1,s2;
    }kk[maxn];
    
    int main(){
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%d %s",&id[i],s[i]);
        }
        int cnt=0;
        for(int i=0;i<n;i++){
            for(int j=n-1;j>=0;j--){
                if(id[i]!=id[j] && vis[i]==0 && vis[j]==0){
                    printf("%s %s
    ",s[i],s[j]);
                    vis[i]=1;vis[j]=1;
                }
            }
        }
        return 0;
    }
    View Code

    L1-031 到底是不是太胖了 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805102173339648

    代码:

    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,x,y;
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d%d",&x,&y);
            int m=(x-100)*1.8;
            //printf("%d
    ",m);
            if(abs(m-y)<(m*0.1)) printf("You are wan mei!
    ");
            if(abs(m-y)>=(m*0.1) && y<m) printf("You are tai shou le!
    ");
            if(abs(m-y)>=(m*0.1) && y>m) printf("You are tai pang le!
    ");
        }
        return 0;
    }
    View Code

    L1-032 Left-pad (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805100684361728

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=101000;
    int n;
    char x,s[maxn];
    
    int main(){
        scanf("%d %c",&n,&x);
        getchar();
        cin.get(s,101000);
        int len=strlen(s);
        if(len>=n){
            for(int i=len-n;i<len;i++){
                cout<<s[i];
            }
            cout<<endl;
        }
        else{
            for(int i=0;i<n-len;i++){
                cout<<x;
            }
            cout<<s<<endl;
        }
        return 0;
    }
    View Code

    L1-033 出生年 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805099426070528

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int x,k;
    
    int main(){
        scanf("%d%d",&x,&k);
        int flag=0;
        for(int i=x;i<=5000;i++){
            int cnt=1;
            int a=i/1000;
            int b=i%1000/100;
            int c=i%100/10;
            int d=i%10;
            if(a!=b && a!=c && a!=d) cnt++;
            if(b!=c && b!=d) cnt++;
            if(c!=d) cnt++;
            if(cnt==k){
                flag=i;
                break;
            }
        }
        printf("%d %04d
    ",flag-x,flag);
        return 0;
    }
    View Code

    L1-034 点赞 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805098188750848

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    int n,k,x;
    int ans[maxn];
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&k);
            for(int j=1;j<=k;j++){
                scanf("%d",&x);
                ans[x]++;
            }
        }
        int mmax=-1,pos=-1;
        for(int i=1;i<=1000;i++){
            if(ans[i]>=mmax){
                mmax=ans[i];
                pos=i;
            }
        }
        printf("%d %d
    ",pos,mmax);
        return 0;
    }      
    View Code

    L1-035 情人节 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805097018540032

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    string s[maxn];
    
    int main(){
        int cnt=0;
        while(cin>>s[++cnt] && s[cnt][0]!='.');
        if(cnt>=15){
            cout<<s[2]<<" and "<<s[14];
            printf(" are inviting you to dinner...
    ");
        }
        else if(cnt>=3 && cnt<15){
            cout<<s[2];
            printf(" is the only one for you...
    ");
        }
        else if(cnt<=2) printf("Momo... No one is for you ...
    ");
        return 0;
    }  
    View Code

    L1-036 A乘以B (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805095676362752

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,m;
    
    int main(){
        scanf("%d%d",&n,&m);
        printf("%d
    ",n*m);
        return 0;
    }
    View Code

    L1-037 A除以B (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805094485180416

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,m;
    
    int main(){
        scanf("%d%d",&n,&m);
        if(m==0){
            printf("%d/%d=Error
    ",n,m);
            return 0;
        }
         double ans=(double)n/(double)m;
         printf("%d/",n);
         if(m<0) printf("(%d)",m);
         else printf("%d",m);
         printf("=%.2f
    ",ans);
        return 0;
    }
    View Code

    L1-038 新世界 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805093038145536

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("Hello World
    Hello New World
    ");
        return 0;
    }
    View Code

    L1-039 古风排版 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805091888906240

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int n;
    char s[maxn],ans[maxn][maxn];
    
    int main(){
        scanf("%d
    ",&n);
        cin.getline(s,1010);
        int len=strlen(s);
        int tmp=len/n+(len%n==0?0:1);
        int cnt=0;
        for(int i=0;i<tmp;i++){
            for(int j=0;j<n;j++){
                if(cnt<len) ans[i][j]=s[cnt++];
                else ans[i][j]=' ';
            }
        }
        for(int j=0;j<n;j++){
            for(int i=tmp-1;i>=0;i--){
                putchar(ans[i][j]);
            }
            putchar('
    ');  
        }
        return 0;
    }
    View Code

    L1-040 最佳情侣身高差 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805090748055552

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int t;double n;char op[2];
    
    int main(){
        scanf("%d",&t);
        for(int i=1;i<=t;i++){
            scanf("%s %lf",op,&n);
            if(op[0]=='M'){
                double ans=n/1.09;
                printf("%.2f
    ",ans);
            }
            if(op[0]=='F'){
                double ans=n*1.09;
                printf("%.2f
    ",ans);
            }
        }
        return 0;
    }
    View Code

    L1-041 寻找250 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805089657536512

    代码:

    #include <iostream>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int x;
    
    int main(){
        int cnt=0,vis=0;
        while(scanf("%d",&x)!=EOF){
            cnt++;
            if(x==250 && vis==0){
                printf("%d
    ",cnt);
                vis=1;
            }
        }
        return 0;
    }
    View Code

    L1-042 日期格式化 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805088529268736

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int m,d,y;
    
    int main(){
        scanf("%d-%d-%d",&m,&d,&y);
        printf("%d-%02d-%02d
    ",y,m,d);
        return 0;
    }
    View Code

    L1-043 阅览室 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805087447138304

    思路:注意一些只有S或只有E的操作

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1010;
    int n,id,h,m;
    int ans[maxn],vis[maxn];
    char op[2];
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            int cnt=0;
            double sum=0;
            id=-1;
            memset(vis,0,sizeof(vis));
            while(id!=0){
                scanf("%d %s %d:%d",&id,op,&h,&m);
                if(id==0) break;
                if(op[0]=='S'){
                    ans[id]=h*60+m;
                    vis[id]=1;
                }
                if(op[0]=='E'){
                    if(vis[id]==1){
                        sum+=h*60+m-ans[id];
                        ans[id]=0;
                        vis[id]=0;
                        cnt++;
                    }
                }
            }
            if(cnt!=0) sum/=cnt;
            sum+=0.5f;
            printf("%d %d
    ",cnt,(int)sum);
        }
        return 0;
    }
    View Code

    L1-044 稳赢 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805086365007872

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int k;char s[10];
    
    int main(){
        scanf("%d",&k);
        int cnt=0;
        k++;
        while(scanf("%s",s)!=EOF && s[0]!='E'){
            cnt++;
            if(s[0]=='C' && cnt%k!=0) printf("Bu
    ");
            if(s[0]=='C' && cnt%k==0) printf("ChuiZi
    ");
            if(s[0]=='J' && cnt%k!=0) printf("ChuiZi
    ");
            if(s[0]=='J' && cnt%k==0) printf("JianDao
    ");
            if(s[0]=='B' && cnt%k!=0) printf("JianDao
    ");
            if(s[0]=='B' && cnt%k==0) printf("Bu
    ");
        }
        return 0;
    }
    View Code

    L1-045 宇宙无敌大招呼 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805085295460352

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    char s[15];
    
    int main(){
        scanf("%s",s);
        printf("Hello %s
    ",s);
        return 0;
    }
    View Code

    L1-046 整除光棍 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805084284633088

    思路:模拟竖式除法

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n;
    
    int main(){
        scanf("%d",&n);
        int x=1,cnt=1;
        while(x<n){
            x=x*10+1;
            cnt++;
        }
        while(x!=0){
            printf("%d",x/n);
            x=x%n;
            if(x==0) break;
            x=x*10+1;
            cnt++;
        }
        printf(" %d
    ",cnt);
        return 0;
    }
    View Code

    L1-047 装睡 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805083282194432

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int n,x,y;
    char s[15];
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%s%d%d",s,&x,&y);
            if(x<15 || x>20 || y<50 || y>70) printf("%s
    ",s);
        }
        return 0;
    }
    View Code

    L1-048 矩阵A乘以B (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805082313310208

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=110;
    int r1,r2,c1,c2;
    int ans1[maxn][maxn],ans2[maxn][maxn],ans[maxn][maxn];
    
    int main(){
        scanf("%d%d",&r1,&c1);
        for(int i=1;i<=r1;i++){
            for(int j=1;j<=c1;j++){
                scanf("%d",&ans1[i][j]);
            }
        }
        scanf("%d%d",&r2,&c2);
        for(int i=1;i<=r2;i++){
            for(int j=1;j<=c2;j++){
                scanf("%d",&ans2[i][j]);
            }
        }
        if(r2!=c1){
            printf("Error: %d != %d
    ",c1,r2);
            return 0;
        }
        memset(ans,0,sizeof(ans));
        for(int i=1;i<=r1;i++){
            for(int j=1;j<=c2;j++){
                for(int k=1;k<=c1;k++){
                    ans[i][j]+=ans1[i][k]*ans2[k][j];
                }
            }
        }
        printf("%d %d
    ",r1,c2);
        for(int i=1;i<=r1;i++){
            for(int j=1;j<c2;j++){
                printf("%d ",ans[i][j]);
            }
            printf("%d
    ",ans[i][c2]);
        }
        return 0;
    }
    View Code

    L1-049 天梯赛座位分配 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805081289900032

    思路:最开始要把所有位置都初始化为-1 这样在只有一个学校的情况下不会出错

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1100;
    int n,cnt[maxn],vis[maxn];
    
    struct node{
        int res;
        int ans[maxn];
    }kk[maxn];
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            scanf("%d",&kk[i].res);
            sum+=kk[i].res;
        }
        sum*=10;
        int tmp=n;
        for(int i=1;i<=n;i++) kk[i].ans[0]=-1;
        memset(cnt,0,sizeof(cnt));
        memset(vis,0,sizeof(vis));
        for(int i=1;i<=sum;){
            for(int j=1;j<=n;j++){
                if(vis[j]==1) continue;
                if(tmp==1){
                    kk[j].ans[++cnt[j]]=max(kk[j].ans[cnt[j]-1]+2,i);
                    i++; 
                }
                else kk[j].ans[++cnt[j]]=i++;
                if(cnt[j]/10==kk[j].res && cnt[j]%10==0){
                    vis[j]=1;tmp--;
                }
            }
        }
        for(int i=1;i<=n;i++){
            printf("#%d
    ",i);
            for(int j=1;j<=10*kk[i].res;j++){
                printf("%d",kk[i].ans[j]);
                if(j%10==0) printf("
    ");
                else printf(" ");
            }
        }
        return 0;
    }
    View Code

    L1-050 倒数第N个字符串 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805080346181632

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const char s[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    const int maxn=1e5+10;
    int n,k;
    char ans[10]={'z'};
    
    int main(){
        scanf("%d%d",&n,&k);
        int a,b=k;
        for(int i=1;i<=n;i++){
            a=b%26;
            b=k/26;
            k=b;
            if(i==1){
                if(a==0){
                    ans[n-i]=s[0];
                    b--;
                }
                else ans[n-i]=s[26-a];
            }
            else ans[n-i]=s[26-a-1];
        }
        printf("%s
    ",ans);
        return 0;
    }
    View Code

    L1-051 打折 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805079364714496

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    double x,y;
    
    int main(){
        scanf("%lf%lf",&x,&y);
        printf("%.2f
    ",x/10*y);
        return 0;
    }
    View Code

    L1-052 2018我们要赢 (5 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805078400024576

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    
    int main(){
        printf("2018
    wo3 men2 yao4 ying2 !
    ");
        return 0;
    }
    View Code

    L1-053 电子汪 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805077443723264

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int a,b;
    
    int main(){
        scanf("%d%d",&a,&b);
        int m=a+b;
        for(int i=1;i<=m;i++){
            printf("Wang!");
        }
        printf("
    ");
        return 0;
    }
    View Code

    L1-054 福到了 (15 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805076512587776

    思路:注意空格和换行 用getchar()读掉换行符 用geline来整行读入(同时读入空格)

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=110;
    int n,vis[maxn][maxn];
    char x;
    string mp[maxn];
    
    int main(){
        scanf("%c %d",&x,&n);
        getchar();
        for(int i=0;i<n;i++){
            getline(cin,mp[i]);
            for(int j=0;j<n;j++){
                if(mp[i][j]==' ') vis[i][j]=0;
                else vis[i][j]=1;
            }
        }
        int flag=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(vis[i][j]!=vis[n-i-1][n-j-1]) flag=1;
            }
        }
        if(flag==0){
            printf("bu yong dao le
    ");
        }
        for(int i=n-1;i>=0;i--){
            for(int j=n-1;j>=0;j--){
                if(vis[i][j]==0) cout<<" ";
                else if(vis[i][j]==1) cout<<x;
            }
            cout<<endl;
        }
        return 0;
    }
    View Code

    L1-055 谁是赢家 (10 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805075543703552

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    int a,b,ansa,ansb,x;
    
    int main(){
        scanf("%d%d",&a,&b);
        ansa=0,ansb=0;
        for(int i=1;i<=3;i++){
            scanf("%d",&x);
            if(x==0) ansa++;
            else ansb++;
        }
        if(a>b && ansa>=1) printf("The winner is a: %d + %d
    ",a,ansa);
        else if(a<b && ansa==3) printf("The winner is a: %d + %d
    ",a,ansa);
        else printf("The winner is b: %d + %d
    ",b,ansb);
        return 0;
    }
    View Code

    L1-056 猜数字 (20 分)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805074646122496

    代码:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    const int inf=0x3f3f3f3f;
    const int maxn=1e4+10;
    int n,x[maxn];
    char s[maxn][20];
    
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=1;i<=n;i++){
            scanf("%s %d",s[i],&x[i]);
            sum+=x[i];
        }
        sum/=(n*2);
        int minn=inf,pos=0;
        for(int i=1;i<=n;i++){
            if(abs(sum-x[i])<minn){
                minn=abs(sum-x[i]);
                pos=i;
            }
        }
        printf("%d %s
    ",sum,s[pos]);
        return 0;
    }
    View Code
  • 相关阅读:
    js完成打印功能
    ajax的序列化表单提交
    SpringMVC学习记录
    拦截器学习记录
    SpringMVC的controller层的方法返回值
    Mybatis学习记录(3)
    Mybatis学习记录(2)
    Mybatis学习记录(1)
    02-操作系统必会问题
    01-“计算机网络”必会问题
  • 原文地址:https://www.cnblogs.com/whdsunny/p/10502315.html
Copyright © 2011-2022 走看看