C 周赛题

比赛网址:2022江西师范大学软件学院程序设计个人挑战赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)

目录

E题

C题

B题:


E题

​
#include <bits/stdc++.h>
using namespace std;
int main(){
    int a[10]={0},b[10]={0},c[100]={0};
    int sum=0,count=0;
     
    for(int i=1;i<=5;i++){
        scanf("%d",&a[i]);
    }
     for(int i=1;i<=5;i++){
        scanf("%d",&b[i]);
    }
     
    sort(b+1,b+5+1);
     
    for(int i=1;i<=5;i++){
        c[b[i]]+=1;
          
    }
    for(int i=1;i<=5;i++){
        count=max(count,c[i]);
    }
    if(count==2) sum=1;
    if((b[1]==b[2]&&b[3]==b[4])||(b[2]==b[3]&&b[4]==b[5])||(b[1]==b[2]&&b[4]==b[5])) sum=2;
    if(count==3) sum=3;
    if((b[1]==b[2]&&b[3]==b[4]==b[5]&&b[2]!=b[3])||(b[2]==b[3]&&b[1]==b[4]==b[5]&&b[1]!=b[2])||(b[3]==b[4]&&b[1]==b[2]==b[5]&&b[2]!=b[3])||(b[4]==b[5]&&b[1]==b[2]==b[3]&&b[3]!=b[4])) sum=6;
    if(count==4) sum=7;
     
    //if((b[1]==b[2]&&b[3]==b[4])||(b[2]==b[3]&&b[4]==b[5])||(b[1]==b[2]&&b[4]==b[5])) sum=2;
    //if((b[1]==b[2]&&b[3]==b[4]==b[5]&&b[2]!=b[3])||(b[2]==b[3]&&b[1]==b[4]==b[5]&&b[1]!=b[2])||(b[3]==b[4]&&b[1]==b[2]==b[5]&&b[2]!=b[3])||(b[4]==b[5]&&b[1]==b[2]==b[3]&&b[3]!=b[4])) sum=6;
    //if(b[1]==b[2]-1&&b[2]==b[3]-1&&b[3]==b[4]-1&&b[4]==b[5]-1) sum=4;
    if(a[1]==a[2]&&a[2]==a[3]&&a[3]==a[4]&&a[4]==a[5]){
        
        if(b[1]==1&&b[2]==10&&b[3]==11&&b[4]==12&&b[5]==13) sum=9;
        else if(b[1]==b[2]-1&&b[2]==b[3]-1&&b[3]==b[4]-1&&b[4]==b[5]-1) sum=8; 
        else sum=5;
    }
    else if(b[1]==b[2]-1&&b[2]==b[3]-1&&b[3]==b[4]-1&&b[4]==b[5]-1||(b[1]==1&&b[2]==10&&b[3]==11&&b[4]==12&&b[5]==13)){ sum=4; }
     
    printf("%d",sum);
    return 0;
}

​

 哈哈哈哈没见过这么暴力的代码,写了好久好久,结果还是只过了86%

C题

 

 一道不是很难的题,但是写了我很久.......

因为没有考虑n=0的情况,被扣了一分

#include <bits/stdc++.h>
using namespace std;
int main(){
    long long aam[10000010],apm[10000010],b[10000010];
    int n,x;
    scanf("%d",&n);
    aam[1]=n;
    b[1]=1;
    int i=1;
   for(int i=1;;i++){
        apm[i]=2*aam[i]; //       
        aam[i+1]=apm[i]-b[i];//
        
        b[i+1]=b[i]*2+b[i];//
      //  printf("aam[%d]=%d\n",i,aam[i]); 
      //  printf("apm[%d]=%d\n",i,apm[i]); 
      //  printf("b[%d]=%d\n",i,b[i]); 
       if(apm[i]<=b[i]) {x=i; break;}
        //i+=1;
    }
    if(n==0){
        printf("0");
    }
    else    printf("%d",x);
    return 0;
}

B题:

 

#include <bits/stdc++.h>
using namespace std;
int main(){  
    long long sum=0;
    for(int i=1;i<=2021;i++){
        if(i%4==0&&i%100!=0||i%400==0) sum+=366;
        else sum+=365;
    }
    sum+=(365-19);
    //printf("%lld",sum);
    printf("%lld",sum%8);
    return 0;
}

又是一道简单题,,我错在了多加了365天,把 for(int i=1;i<=2021;i++) 写成了 for(int i=1;i<=2022;i++) 。唉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值