收获:
const 定义的变量值在程序运行过程中不允许发生改变
printf 根据格式符输出对应类型
putchar 只能输出字符
puts 可以输出字符串
程序设计竞赛是综合了以下两个要素的复合竞赛:
设计高效且正确的算法
正确地实现
并且,为了设计算法,
灵活的想象力
算法的基础知识
也是必不可少的。
笔记:
程序设计竞赛就是以程序设计为主题举办的竞赛。
题目:
n个纸片,上面的数字为k₁至kₙ,抽取4次,记下数字放回,求是否存在和为m的方案,存在输出Yes,否则输出No.
限制条件
1<=n<=50
1<=m<=1e8
1<=k<=1e8
样例:
输入:3 10 1 3 5
输出:Yes
输入:3 9 1 3 5
输出:No
程序:
#include<cstdio>
const int MAX_N = 50;
int main(){
int n,m,k[MAX_N];
//从标准输入读入
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++){
scanf("%d",&k[i]);
}
//是否找到和为m的组合的标记
bool f=false;
//通过四重循环枚举所有方案
for(int a=0;a<n;a++){
for(int b=0;b<n;b++){
for(int c=0;c<n;c++){
for(int d=0;d<n;d++){
if(k[a]+k[b]+k[c]+k[d]==m){
f=true;
}
}
}
}
}
//输出到标准输出
if(f) puts("Yes");
else puts("No");
return 0;
}
比赛时,预先准备好的输入文件将被重定向为程序的标准输入。通过判断程序对应的输出是否正确来判断解答是否正确。
真正比赛时会限制程序运行时间和程序大小。
程序设计竞赛是综合了以下两个要素的复合竞赛:
设计高效且正确的算法
正确地实现
并且,为了设计算法,
灵活的想象力
算法的基础知识
也是必不可少的。