关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。1999年、提高组、复赛,第5届。
A、试题类型:
数字模型问题。
B、算法模型:
奇偶两重推导。
C、试题说明:
找规律:
第1层:1/1
第2层:1/2 2/1
第3层:3/1 2/2 1/3
第4层:1/4 2/3 3/2 4/1
第5层:5/1 4/2 3/3 2/4 1/5
因为各层分数的分子分母之和比层数大1。
偶数层即(w)+ (h+1-w)=h+1。
奇数层即(h+1-w)+ (w)=h+1。
#include<stdio.h>
int main()
{
int h=1, w;
scanf("%d",&w);
while (w > h)//循环,得出层数(高度)
{
w -= h;
h++;
}
if (h % 2 == 0)//如果是偶数层,分子递增,分母递减,得出答案
{
printf("%d/%d",w,h+1-w);
}
else//如果是奇数层,分子递减,分母递增,得出答案
{
printf("%d/%d",h+1-w,w);
}
}
A、试题类型:
数的问题。
B、算法模型:
回文考点。
C、试题说明:
数学与逻辑的结合。
#include <stdio.h>
#include <stdlib.h>
#define N 10000
#define K 20
long tran(long num[],long B,long n)//十进制改为其它进制
{
long i=0,j,temp;
do
{
num[i++]=n%B;
}while((n/=B)!=0);
for(j=0; j<i/2; j++)
{
temp=num[j];
num[j]=num[i-1-j];
num[i-1-j]=temp;
}
return i;
}
int judge(long num[],long len)//判断是否是回文数
{
long i,flag=1;
for(i=0; i<len/2; i++)
{
if(num[i]!=num[len-i-1])
flag=0;
}
return flag;
}
int main()
{
long B,num1[N],i,len1,t,flag,n;
scanf("%d",&t);
while(t--)
{
flag=0;
scanf("%ld",&n);
for(i=2; i<17; i++)
{
len1=tran(num1,i,n);
if(judge(num1,len1))
flag=1;
}
if(flag==1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
A、试题类型:
逻辑推理。
B、算法模型:
公式推导。
C、试题说明:
算法训练。
#include <iostream>
#include <string>
using namespace std;
int main()
{
double D1,C,D2,P;
int N;
cin>>D1>>C>>D2>>P>>N;
double * value = new double[N+1];//记录第i个加油站的价钱
double * over = new double[N+1]();//记录到第i个加油站的时候还可以走多少公里
double * way = new double[N+2];//记录第i个点离出发点的距离
//初始化
value[0] = P;
way[0] = 0;
double MAX = C*D2;//记录能行驶距离
bool flag = false;//判断是否无解
for(int i = 1; i<=N; i++)
{
cin>>way[i]>>value[i];
if(way[i] - way[i-1]>MAX)
{
flag = true;
}
}
if(flag)
{
cout<<"No Solution"<<endl;
return 0;
}
way[N+1] = D1;//终点是最后一个加油站
int i = 0;//记录当前到达的加油站
int j = 1;// 记录向后找到的比自己便宜的加油站的编号
double cost = 0;//记录费用
while(i!=N+1)
{//直到终点才停止
double s = 0;//记录到比自己便宜的加油站的距离
while((s<=MAX)&&(j<=N)&&(value[i] <= value[j]))
{//查找比自己便宜的加油站
j++;
s = s + way[j] - way[j-1];
}
if(s<=MAX)
{//是否可以一步j加油站或不中途不加油到J
if(over[i]>=way[j]-way[i])
{//在i点加不加油
over[j] = over[i]-way[j]+way[i];//在i点不加油因为够油到j点
}
else
{//在i点加油到刚刚好到j点
cost = cost + (way[j]-way[i]-over[i])/D2 * value[i];
over[j] = 0;//到j点时刚刚没油
}
}
else
{//到不lJ或没有找到比当前便宜的点,即在当前加满油
cost = cost + (MAX - over[i])/D2 * value[i];
j = i+1;
over[j] = MAX - (way[j] - way[i]);//记录到下一个加油站的时候还可以走多远
}
i = j;
}
printf("%.2f",cost);
return 0;
}
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。