关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
1999年、普及组、复赛,第5届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
数字与图形。
B、算法模型:
无。
C、试题说明:
把原来的数据顺时针方向旋转45°。这样所有的数据就是一个规则的三角形。
每行开头的第一个数的分子都是行号n,分母都是1,每行最后一个数字分子是1,分母是n。第1行就一个数字1/1。第n行(n为奇数时),数字按照n/1,n-1/2,……,2/n+1-2,1/n+1-1这样输出。第n行(n为偶数时),数字按照1/n+1-1,2/n+1-2……n-1/2,n/1这样输出。想找到第K项数据,先要求出n。
当1+2+3……+n>=k,1+2+3……+(n-1)<k时,就找到了n的值。
然后把1+2+3……+(n-1)的和sum求出来。在第n行里从第一个数开始计数,每数一个数字,sum++。当sum=k时,找到了数字。然后输出。
int k=0; //k代表是第多少项
int n=0,sum=0,i=0,j=0;
#include<iostream>
using namespace std;
int main()
{
cin>>k;
//while循环找出第k个数在三角形的第n行
while(sum<k){
n++;
sum+=n;
}
//cout<<n<<endl;
sum=sum-n;
if(n%2==1) //奇数行
{
for(j=n;j>=1;j--)
{
sum++;
if(sum==k)
{
cout<<j<<"/"<<n+1-j<<endl;
return 0;
}
}
}
else //偶数行
{
for(j=1;j<=n;j++)
{
sum++;
if(sum==k)
{
cout<<j<<"/"<<n+1-j<<endl;
return 0;
}
}
}
return 0;
}
A、试题类型:
数字问题。
B、算法模型:
进制模型。
C、试题说明:
n进制运算:
1、当进位规范10%改为n%。
2、进位处理由/10改为/n。
3、其他运算规则不变。
#include <iostream>
#include <cstring>
using namespace std;
int n,a[101],b[101],ans,i;
void init (int a[])
{//将数串s转化为整数数组a
string s;
cin>>n>>s;
//读入字符串s
memset(a,0,sizeof(a));
//数组a清零
a[0]=s.length();
//用a[0]计算字符串s的位数
for(i=1;i<=a[0];i++)
{
if(s[a[0]-i]>='0'&&s[a[0]-i]<='9')
{
a[i]=s[a[0]-i]-'0';
}
else
{
a[i]=s[a[0]-i]-'A'+10;
}
}
}
bool check(int a[])
{//判别整数数组a是否为回文数
for(i=1;i<=a[0];i++)
{
if(a[i]!=a[a[0]-i+1])
return false;
}
return true;
}
void jia(int a[])
{//整数数组a与其反序数b进行n进制加法运算
int i,k;
for(i=1;i<=a[0];i++)
{//反序数b
b[i]=a[a[0]-i+1];
}
for(i=1;i<=a[0];i++)
{//逐位相加
a[i]+=b[i];
}
for(i=1;i<=a[0];i++)
{//处理进位
a[i+1]+=a[i]/n;
a[i]%=n;
}
if(a[a[0]+1]>0)
{//修正新的a的位数(a+b最多只能进一位)
a[0]++;
}
}
int main ()
{
init(a);
if(check(a))
{
cout<<0<<endl;
return 0;
}
ans=0;
//步数初始化为0
while(ans<=30)
{
ans++;
jia(a);
if(check(a))
{
cout<<ans<<endl;
return 0;
}
}
cout<<"impossible";
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航班提供:课程视频、、课程书籍、竞赛辅导、少儿编程指导、课程采购、加盟、少儿编程资料、少儿编程课程、保送生、特长生、加分、中小学计算机教育、中小学信息学、竞赛、中小学信息学课程、人工智能、中小学编程加盟、少儿编程加盟、品牌加盟、技术加盟、技术指导、课程加盟、师资培训、中小学编程教辅资料、中小学编程教师培训、少儿编程教学书籍、少儿编程视频、教学书籍、教师培训、教学视频、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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。