QFNU-ACM 2020.04.05个人赛补题

Posted bonel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QFNU-ACM 2020.04.05个人赛补题相关的知识,希望对你有一定的参考价值。

A.CodeForces-124A

(简单数学题)

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    int a,b,n;
    scanf("%d %d %d",&n,&a,&b);
    if((n-a)>b){
       printf("%d",b+1);
    }else{
        printf("%d",n-a);
    }
}

D.cAPS

要么只包含大写字母,要么除了第一个字母外都是大写,才进行变化,否则输出原来字符串

 

多注意题目要求,仔细读题。

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main(){
 4     char s[110];
 5     gets(s);
 6     int len;
 7     len=strlen(s);
 8     int flag=0;
 9     for(int i=1;i<len;i++){
10         if(s[i]>=a&&s[i]<=z){
11             flag=1;
12             break;
13         }
14     }
15     if(flag==1){
16         puts(s);
17 
18     }else{
19         for(int i=0;i<len;i++){
20             if(s[i]>=a&&s[i]<=z){
21                 printf("%c",s[i]-a+A);
22             }else{
23                 printf("%c",s[i]-A+a);
24             }
25         }
26     }
27 
28 }

E.Opposites Attract

数学问题,相反数的个数相乘即可,但是注意0需要特判,数字和数组也要开__int64

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 using namespace std;
 6 __int64 a[11]={0},b[11]={0};
 7 int main(){
 8     __int64 n,m,sum=0;
 9     scanf("%I64d",&n);
10 
11     for(int i=0;i<n;i++){
12         scanf("%I64d",&m);
13         if(m>0){
14             a[m]++;
15         }else{
16             b[-m]++;
17         }
18     }
19     for(int i=0;i<=10;i++){
20             sum+=(a[i]*b[i]);
21     }
22     if(b[0]>1){
23         sum+=(b[0]*(b[0]-1))/2;
24     }
25     printf("%I64d",sum);
26 }

F.The World IS A Theatre

组合数学问题

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 using namespace std;
 6 __int64 calcu(__int64 a,__int64 b);
 7 int main(){
 8     __int64 m,n,sum=0,t;
 9     scanf("%I64d %I64d %I64d",&n,&m,&t);
10     for(int i=4;i<=t-1;i++){
11         sum+=(calcu(n,i)*calcu(m,t-i));
12     }
13     printf("%I64d",sum);
14 
15 }
16 __int64 calcu(__int64 a,__int64 b){
17     __int64 i,item=1;
18     if(b>a) return 0;
19     int j=min(a-b,b);
20     for(i=1;i<=j;i++){
21         item*=a;
22         a--;
23         item/=i;
24 
25     }
26     return item;
27 
28 }

 

以上是关于QFNU-ACM 2020.04.05个人赛补题的主要内容,如果未能解决你的问题,请参考以下文章

QFNU-ACM 2020.4.5 个人赛

QFNU-ACM 2020.11.6 Trating

2020.04.05 个人赛

2020.10.9个人赛补题

2021-03-20个人赛补题H - Corrupted Images

2021-3-23春季个人赛补题(H)