码迷,mamicode.com
首页 > 其他好文 > 详细

QFNU-ACM 2020.04.05个人赛补题

时间:2020-04-09 15:32:13      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:要求   ret   ios   item   除了   组合数   nbsp   gets   个人   

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个人赛补题

标签:要求   ret   ios   item   除了   组合数   nbsp   gets   个人   

原文地址:https://www.cnblogs.com/bonel/p/12667125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!