文章目录

  • 2020国赛能力挑战赛初赛C试题1-3
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 题解
  • 2020国赛能力挑战赛初赛C试题2-1
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围提示
    • 题解
  • 2020国赛能力挑战赛初赛C试题2-3
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围
    • 题解
  • 2020国赛能力挑战赛初赛C试题4-1
    • 题目描述
    • 输入说明
    • 输出说明
    • 输入样例
    • 输出样例
    • 数据范围提示
    • 题解

2020国赛能力挑战赛初赛C试题1-3

题目描述

现要对一个由字符a-z和A-Z组成的字符串进行解密,已知加密规则是:字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh–>aBc)。请你写程序完成解密。

输入说明

输入1行,为一个加密过的字符串(( 长度大于1 且小于50 且只包含大小写字母)。

输出说明

输出1行,为解密后的字符串。

输入样例

AbcExyZ

输出样例

FghJcdE

题解

#include#includeint main(){char s[51];scanf("%s",&s);for(int i=0;i<strlen(s);i++){s[i] = s[i] + 5;if(s[i] > 122){s[i] = s[i]%122 + 96;}if(s[i] > 90){if(s[i]<97){s[i] = s[i]%90 + 64;}}}printf("%s",s);return 0;}

2020国赛能力挑战赛初赛C试题2-1

题目描述

输入正整数A、B、C(0<=A,B,C<=10000),若用’+‘、’-‘、’*‘、’/‘、’%'之一组成等式(即A@B=C,@是上述运算符之一,),则输出“YES”,否则输出“NO”。

输入说明

第1行:一个正整数N(1<=N<=1000),表示有N组数据,

第2-N+1行:非零整数A、B、C。

输出说明

N行,对于每行整数A、B、C,其计算结果各占一行。

输入样例

52 3 63 5 15 3 11 4 16 2 7

输出样例

YESNONOYESNO

数据范围提示

(说明:输入样例中2*3=6,1%4=1)

题解

#includeint main(){int n,a,b,c,flag = 0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d %d %d",&a,&b,&c);if( a+b==c || a-b==c || a*b==c) flag = 1;if(b){if((double)a/b == c || a%b == c) flag = 1;}if(flag) printf("YES\n");if(!flag) printf("NO\n");flag = 0;}return 0;}

2020国赛能力挑战赛初赛C试题2-3

题目描述

若有非零整数A、B、C,将其组成两个等式(A@B)#C=24、A@(B#C)=24,其中@和#为运算符号’+‘、’-‘、’*‘、’/‘、’%’之一,同一符号可选择一次或多次,如果这两个等式至少有一个成立,则输出YES,否则输出NO。

输入说明

第一行输入正整数N,表示有N组数据。(N<1000)

其后N行每行输入非零整数A、B、C(-1e5<=A、B、C<=1e5)

输出说明

如果两个等式至少有一个成立,则输出YES,否则输出NO,每组数据的输出占一行。

输入样例

34 1 63 4 56 3 12

输出样例

YESNOYES

数据范围

(注意,在该题中整数/整数,取结果的整数部分,例如1/4=0)

题解

#include"stdio.h"int main(){int n;int num[2000][3];scanf("%d",&n);for(int i=0;i<n;i++){//输入数据scanf("%d %d %d",&num[i][0],&num[i][1],&num[i][2]);}for(int i=0;i<n;i++){//穷举列出运算式子的组合int flag=0;//设置逻辑标志if((num[i][0]+num[i][1])+num[i][2]==24||num[i][0]+(num[i][1]+num[i][2])==24){flag=1;}if((num[i][0]+num[i][1])-num[i][2]==24||num[i][0]+(num[i][1]-num[i][2])==24){flag=1;}if((num[i][0]+num[i][1])*num[i][2]==24||num[i][0]+(num[i][1]*num[i][2])==24){flag=1;}if((num[i][0]+num[i][1])/num[i][2]==24||num[i][0]+(num[i][1]/num[i][2])==24){flag=1;}if((num[i][0]+num[i][1])%num[i][2]==24||num[i][0]+(num[i][1]%num[i][2])==24){flag=1;}if((num[i][0]-num[i][1])+num[i][2]==24||num[i][0]-(num[i][1]+num[i][2])==24){flag=1;}if((num[i][0]-num[i][1])-num[i][2]==24||num[i][0]-(num[i][1]-num[i][2])==24){flag=1;}if((num[i][0]-num[i][1])*num[i][2]==24||num[i][0]-(num[i][1]*num[i][2])==24){flag=1;}if((num[i][0]-num[i][1])/num[i][2]==24||num[i][0]-(num[i][1]/num[i][2])==24){flag=1;}if((num[i][0]-num[i][1])%num[i][2]==24||num[i][0]-(num[i][1]%num[i][2])==24){flag=1;}if((num[i][0]*num[i][1])+num[i][2]==24||num[i][0]*(num[i][1]+num[i][2])==24){flag=1;}if((num[i][0]*num[i][1])-num[i][2]==24||num[i][0]*(num[i][1]-num[i][2])==24){flag=1;}if((num[i][0]*num[i][1])*num[i][2]==24||num[i][0]*(num[i][1]*num[i][2])==24){flag=1;}if((num[i][0]*num[i][1])/num[i][2]==24||num[i][0]*(num[i][1]/num[i][2])==24){flag=1;}if((num[i][0]*num[i][1])%num[i][2]==24||num[i][0]*(num[i][1]%num[i][2])==24){flag=1;}if((num[i][0]/num[i][1])+num[i][2]==24){flag=1;}if(num[i][1]+num[i][2]!=0){if(num[i][0]/(num[i][1]+num[i][2])==24){flag=1;}}if((num[i][0]/num[i][1])-num[i][2]==24){flag=1;}if(num[i][1]-num[i][2]!=0){if(num[i][0]/(num[i][1]-num[i][2])==24){flag=1;}}if((num[i][0]/num[i][1])*num[i][2]==24){flag=1;}if(num[i][1]*num[i][2]!=0){if(num[i][0]/(num[i][1]*num[i][2])==24){flag=1;}}if(num[i][1]/num[i][2]!=0){//防止除数为0if(num[i][0]/(num[i][1]/num[i][2])==24){flag=1;}}if((num[i][0]/num[i][1])/num[i][2]==24){flag=1;}if((num[i][0]/num[i][1])%num[i][2]==24){flag=1;}if(num[i][1]%num[i][2]!=0){if(num[i][0]/(num[i][1]%num[i][2])==24){flag=1;}}if((num[i][0]%num[i][1])+num[i][2]==24){flag=1;}if(num[i][1]+num[i][2]!=0){if(num[i][0]%(num[i][1]+num[i][2])==24){flag=1;}}if((num[i][0]%num[i][1])-num[i][2]==24){flag=1;}if(num[i][1]-num[i][2]!=0){if(num[i][0]%(num[i][1]-num[i][2])==24){flag=1;}}if((num[i][0]%num[i][1])*num[i][2]==24){flag=1;}if(num[i][1]*num[i][2]!=0){if(num[i][0]%(num[i][1]*num[i][2])==24){flag=1;}}if(num[i][1]/num[i][2]!=0){//防止除数为0if(num[i][0]%(num[i][1]/num[i][2])==24){flag=1;}}if((num[i][0]%num[i][1])/num[i][2]==24){flag=1;}if((num[i][0]%num[i][1])%num[i][2]==24){flag=1;}if(num[i][1]%num[i][2]!=0){if(num[i][0]%(num[i][1]%num[i][2])==24){flag=1;}}if(flag==1){printf("YES\n");}else{//flag为0时表示上述的所以组合没有等于24的printf("NO\n");}}return 0;}

2020国赛能力挑战赛初赛C试题4-1

题目描述

给定一个字符串s,先要对字符串第i个到第j个字符中查找是否存在字符ch,若存在,则删除其中第一个字符ch,若不存在,则在第j个字符后插入字符ch。

输入说明

第一行输入字符串s(长度len<1000)。

第二行输入正整数N和字符ch,N表示其后有N次操作(N<100)。

从第三行开始,其后N行每行有两个正整数i和j(1<=i<=j<=len)。

输出说明

输出N次操作之后的字符串。

输入样例

abcdefg2 d1 32 6

输出样例

abcdefg

数据范围提示

(解释:abcdefg–>abcddefg–>abcdefg)

题解

#include#includeint main(){char s[10000];int N;char ch;scanf("%s",&s);scanf("%d %c",&N,&ch);int len = strlen(s);for(int t=0;t<N;t++){int i,j,flag = 0;scanf("%d %d",&i,&j);for(int f=i-1;f<=j-1;f++){if(s[f]==ch){flag = 1;for(int m=f;m<len-1;m++){s[m] = s[m+1];}len--;break;}}if(!flag){for(int t=len;t>j;t--){s[t] = s[t-1];}s[j] = ch;len++;}for(int r=0;r<len;r++){printf("%c",s[r]);}printf("\n");}for(int r=0;r<len;r++){printf("%c",s[r]);}return 0;}