关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2005年、普及组、复赛,第11届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
生活问题。
B、算法模型:
基本推理。
C、试题说明:
无。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int appleh[10], benchh, taoh, bentaoh, i;
benchh = 30; //板凳的高度
for (i=0; i<10; i++) //循环输入苹果的高度
{
scanf("%d", &appleh[i]);
}
scanf("%d", &taoh); //输入淘淘的高度
bentaoh = benchh + taoh; //淘淘站在板凳上的高度
int n = 0;
for (i=0; i<10; i++) //判断能否摘到苹果
{
if(appleh[i] <= bentaoh)
{
n++; //如果能够摘到苹果计数加一
}
}
printf("%d\n", n);
return 0;
}
A、试题类型:
推理题。
B、算法模型:
无。
C、试题说明:
输入一个大的整数闭区间,及一些可能互相重叠的在该大区间内的小的整数闭区间。在大的整数闭区间内去除这些小的整数闭区间,问之后剩下的可能不连续的整数区间内有多少个整数。这个题目给出的范围是大的区间在1~10000 以内,要去除的小的区间的个数是100 个以内。因为规模较小,所以可以考虑用空间换时间,用一个大数组来模拟这些区间,数组中的每个数表示区间上的一个数。
例如,如果输入 L 的长度是 500,则据题意可知最初有 501 棵树。就用一个 501 个元素的数组来模拟这 501 棵树,数组的下标分别代表从 1 到 501 棵树,数组元素的值代表这棵树是否被一走。最初这些树都没有被移走,所以所有数组元素的值都用 true 来表示。每当输入一个小区间,就将这个区间对应的树全部移走,即将这个区间对应的数组元素下标指示的元素的值置成 false。
如果有多个区间对应同一个数组元素,会导致多次将某个数组元素置成 false。不过这并不影响结果的正确性。当所有小区间输入完成,可以数一下剩下的仍旧为 true 的元素的个数,就可以得到最后剩下的树的数目。
当然如果最开始输入的区间不是 500,则使用的数组大小就不是 500。因为题目给出的上限是 10000,可以定义一个大小是 10001 个元素的数组,这样对所有输入都是够用的。
#include <iostream>
using namespace std;
int main()
{
int L,i,j,n;
bool trees[10001];// 用一个布尔数组模拟树的存在情况。
for(i=0;i<10001;i++)
{// 赋初值
trees[i]=true;
}
cin>>L>>n;
for(i=0;i<n;i++)
{
int begin,end;
cin>>begin>>end;
for(j=begin;j<=end;j++)
{
// 将区间内的树移走,即赋值为 false。
trees[j]=false;
}
}
int count=0;
//用 count 计数,数数剩余的树的数目。
for(i=0;i<=L;i++)
{
if(trees[i])
{
count++;
}
}
cout<<count<<endl;
return 0;
}
A、试题类型:
生活问题。
B、算法模型:
背包问题,求最大价值,动态规划。
C、试题说明:
说明:dp[i][j]代表的是当背包剩余容积为j,已经判定了i个物品时,背包的最优情况。
#include <stdio.h>
#include <string.h>
#define max(x,y) (x>y)?x:y
int main ()
{
int T,M,a,b;
scanf("%d %d",&T,&M);
int i,j;
int dp[M+1][T+1];
memset(dp,0,sizeof(dp));
for(i=1;i<=M;i++)
{
scanf("%d %d",&a,&b);
for(j=1;j<=T;j++)
{
if(j>=a)
dp[i][j]=max(dp[i-1][j],dp[i-1][j-a]+b);
else
dp[i][j]=dp[i-1][j];
}
}
printf("%d",dp[M][T]);
return 0;
}
A、试题类型:
暴力。
B、算法模型:
高精度问题。
C、试题说明:
无。
#include<bits/stdc++.h>
using namespace std;
#define cpy(x,y) for(int v=1;v<=k;v++)x[v]=y[v];
int xh[11]={1,1,4,4,2,1,1,4,4,2};
int k,b[205],c[205],d[205],p[205],q[205],ans[205],tot1,tot2=2,t;
char a[105];
void mul1(int x[],int y[],int z[])
{
for(int i=1;i<=k;i++)
{
for(int j=1;j<=k;j++)
{
z[i+j-1]+=x[i]*y[j];
z[i+j]+=z[i+j-1]/10;
z[i+j-1]%=10;
}
}
}
void mul2(int x[],int y,int z[])
{
for(int i=1;i<=k;i++)
{
z[i]+=x[i]*y;
z[i+1]+=z[i]/10;
z[i]%=10;
}
}
int main()
{
scanf("%s%d",a+1,&k);
int len=strlen(a+1);
for(int i=len;i>=len-k+1;i--)
c[++tot1]=a[i]-'0';
for(int i=1;i<=k;i++)
b[i]=c[i];
for(int i=1;i<xh[c[1]];i++)
{
memset(d,0,sizeof(d));//这个一定要加,如果放在mul1里面就会wa
mul1(b,c,d);
cpy(b,d);
}
ans[1]=xh[c[1]];
cpy(q,b);
cpy(p,b);
while(tot2<=k)
{
cpy(b,c);
while(t<11)
{
memset(d,0,sizeof(d));
mul1(b,p,d);
t++;
cpy(b,d);
if(b[tot2]==c[tot2])
break;
memset(d,0,sizeof(d));
mul1(q,p,d);
cpy(q,d);
}
if(t==11)
{//无解
printf("-1");
return 0;
}
cpy(p,q);
memset(d,0,sizeof(d));
mul2(ans,t,d);
for(int i=1;i<=100;i++)//计算答案
ans[i]=d[i];
tot2++;
t=0;
}
int anslen=101;
while(ans[anslen]==0&&anslen>1)
anslen--;
for(int i=anslen;i>=1;i--)
printf("%d",ans[i]);
return 0;
}
IT航班提供:课程视频、、课程书籍、竞赛辅导、少儿编程指导、课程采购、加盟、少儿编程资料、少儿编程课程、保送生、特长生、加分、中小学计算机教育、中小学信息学、竞赛、中小学信息学课程、人工智能、中小学编程加盟、少儿编程加盟、品牌加盟、技术加盟、技术指导、课程加盟、师资培训、中小学编程教辅资料、中小学编程教师培训、少儿编程教学书籍、少儿编程视频、教学书籍、教师培训、教学视频、CSP-J/S、中小学信息学课程服务、竞赛指导、课程提供、国内外计算机中小学计算机竞赛、信息学竞赛、信息学课程提供商、信息学奥林匹克。
IT航班支持----中小学编程比赛汇总:
第一部分:国内比赛(IT航班支持)
1、软件能力认证(CSP-JS)
2、全国青少年信息学奥林匹克联赛(NOIP)
3、全国青少年信息学奥林匹克竞赛(NOI)
4、中国青少年………………………
5、………………………创新挑战赛
6、全国青少年………………………
7、………………………
8、 恩欧希教育信息化发明创新奖
9、世界机器人大赛(WRC)
10、………………………大赛
11、少………………………智能教育成果展示大赛
12、“明天小小科学家”奖励活动
13、………………………
14、………………………
15、国际信息学………………………
16、………………………
第二部分:国际比赛(IT航班支持)
17、………………………
18、国际………………………
19、………………………
20、美国信息学………………………
21、加拿大………………………
22、官方邀请赛 (CCO)
23、国际计算思维………………………
24、美国计算机………………………
25、澳大利亚………………………
第三部分:企业比赛(IT航班支持)
26、微软MTA
27、………………………挑战赛
28、………………………科学奖
29、………………………学奖
30、………………………创新挑战赛
31、………………………挑战赛
32、………………………芯计算机表演赛
33、………………………大赛
第四部分:Scratch相关竞赛(IT航班支持)
34、全国中小学生电脑制作大赛
35、………………………
36、………………………
37、………………………
第五部分:其它(IT航班支持)
38、NOI夏令营
39、NOI冬令营(NOIWC)
40、全国青少年………………………
41、国际青少年………………………
联系方式:
A、官方网址:
B、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。