关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2007年、普及组、复赛,第13届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
结构体应用。
B、算法模型:
结构体数组。
C、试题说明:
1、定义一个结构体,将语数英成绩,序号,学号放入其中。
2、定义一个按照要求排序的函数。
#include <iostream>
#include <algorithm>
using namespace std;
struct student
{
int chinese;//语文成绩
int math;//数学成绩
int english;//英语成绩
int num;//序号
int sum = 0;//总分
}s[301];
int cmp(student p1, student p2)
{//结构体
if (p1.sum == p2.sum && p1.chinese != p2.chinese)
{//总分相同,语文成绩高排在前
return p1.chinese > p2.chinese;
}
if (p1.sum == p2.sum && p1.chinese == p2.chinese)
{//总分相同,语文成绩相同,序号小在前
return p1.num < p2.num;
}
else {//否则总分越高在越前
return p1.sum > p2.sum;
}
}
int n;//人数
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
s[i].num = i;
cin >> s[i].chinese >> s[i].math >> s[i].english;
s[i].sum = s[i].chinese + s[i].math + s[i].english;
}
sort(1 + s, 1 + n + s, cmp);//排序
for (int i = 1; i <= 5; i++)
{//输出前5名
cout << s[i].num << " " << s[i].sum << endl;;
}
return 0;
}
A、试题类型:
基本算法训练。
B、算法模型:
贪心算法。
C、试题说明:
首先排序,用最小的和最大的比。一个一个往下比。
找不到的话,自算。否则把那个数去掉。
#include<bits/stdc++.h>
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int n,a[30001],m,d,sum=0;
int main()
{
freopen("P1094_6.in","r",stdin);
freopen("P1094_6.out","w",stdout);
bool flag=true,flag2[30001];
memset(flag2,0,sizeof(flag2));
cin>>m;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
flag=true;
for(int j=n;j>i;j--)
{
if(a[i]+a[j]<=m&&flag2[i]==0&&flag2[j]==0)
{
flag2[i]=1;
flag2[j]=1;
//cout<<a[i]<<" "<<a[j]<<endl;
flag=false;
d=j;
break;
}
}
if(flag==false)
{
for(int j=d;j<=n-1;j++)
a[j]=a[j+1];
n--;
}
//else cout<<a[i]<<endl;;
sum++;
}
cout<<sum<<endl;
return 0;
}
A、试题类型:
基本推导。
B、算法模型:
贪心。
C、试题说明:
无
#include<iostream>
using namespace std;
int main()
{
int m,s,t,x=0,y=0,t1,f;
scanf("%d%d%d",&m,&s,&t);
t1=t;
while(t1>0)
{
t1--;
if(m>=10)
{
m-=10;
x+=60;
}
if(m<10)
{
f=0;
break;
}
if(x>=s)
{
printf("Yes\n");
printf("%d\n",t-t1);
break;
}
}
if(f==0)
{
y=x;
while(t1>0)
{
t1--;
m+=4;
if(m>=10)
{
m-=10;
}
if(t1>0)
{
t1--;x+=60;y=x;
}
else
{
y+=17;
}
if(y>=s || x>=s)
{
printf("Yes\n");
printf("%d %d %d\n",t-t1,t,t1);
break;
}
}
if(t1==0)
{
printf("No\n");
printf("%d\n",y>x?y:x);
}
}
return 0;
}
A、试题类型:
基本算法。
B、算法模型:
递推问题,方程应用。
C、试题说明:
转移方程f[i] = 2 * f[i-1] + 2,由于n<=200。注意高精度。
#include <iostream>
#include <cstdio>
using namespace std;
int n,c,a[22],i,j;
int main()
{
cin>>n;
a[1]=2;
for(i=2;i<=n;i++)
{
c=0;
for(j=1;j<=20;j++)
{
a[j]=a[j]*2+c;
if(j==1)
a[j]+=2;
c=a[j]/10000;
a[j]%=10000;
}
}
i=20;
while(i>1&&!a[i])
i--;
cout<<a[i];
while(--i)
printf("%04d",a[i]);
cout<<endl;
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。