2020年计算机能力挑战赛C/C++初赛题解-创新互联
- 2020国赛能力挑战赛初赛C试题1-3
- 题目描述
- 输入说明
- 输出说明
- 输入样例
- 输出样例
- 题解
- 2020国赛能力挑战赛初赛C试题2-1
- 题目描述
- 输入说明
- 输出说明
- 输入样例
- 输出样例
- 数据范围提示
- 题解
- 2020国赛能力挑战赛初赛C试题2-3
- 题目描述
- 输入说明
- 输出说明
- 输入样例
- 输出样例
- 数据范围
- 题解
- 2020国赛能力挑战赛初赛C试题4-1
- 题目描述
- 输入说明
- 输出说明
- 输入样例
- 输出样例
- 数据范围提示
- 题解
现要对一个由字符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;is[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,其计算结果各占一行。
输入样例5
2 3 6
3 5 1
5 3 1
1 4 1
6 2 7
输出样例YES
NO
NO
YES
NO
数据范围提示(说明:输入样例中2*3=6,1%4=1)
题解#includeint main(){int n,a,b,c,flag = 0;
scanf("%d",&n);
for(int i=0;iscanf("%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,每组数据的输出占一行。
输入样例3
4 1 6
3 4 5
6 3 12
输出样例YES
NO
YES
数据范围(注意,在该题中整数/整数,取结果的整数部分,例如1/4=0)
题解#include"stdio.h"
int main(){int n;
int num[2000][3];
scanf("%d",&n);
for(int i=0;i//输入数据
scanf("%d %d %d",&num[i][0],&num[i][1],&num[i][2]);
}
for(int i=0;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){//防止除数为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][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){//防止除数为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][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次操作之后的字符串。
输入样例abcdefg
2 d
1 3
2 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;tint 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;ms[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 printf("%c",s[r]);
}
printf("\n");
}
for(int r=0;rprintf("%c",s[r]);
}
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文题目:2020年计算机能力挑战赛C/C++初赛题解-创新互联
URL分享:http://cdiso.cn/article/ccehip.html