关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2008年、普及组、复赛,第14届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
基本问题延申。
B、算法模型:
无。
C、试题说明:
无。
#include<iostream>
using namespace std;
int cheng(int a,int n)
{
return a*n;
}
int main()
{
string date;
cin>>date;
int ans=0,jie=1;
for(int i=0;i<date.size()-1;i++)
{
if(date[i]!='-')
{
int rem=date[i]-48;
ans+=cheng(rem,jie++);
}
}
if(ans%11==date[date.size()-1]-48
|| ans%11==10&&date[date.size()-1]=='X')
//数字ASCII码与数字间差48
{
cout<<"Right";
}
else if(ans%11==10)
{
for(int i=0;i<date.size()-1;i++)
{
cout<<date[i];
}
cout<<'X';
}
else
{
for(int i=0;i<date.size()-1;i++)
{
cout<<date[i];
}
cout<<ans%11;
}
return 0;
}
A、试题类型:
最优方案。
B、算法模型:
贪心题。
C、试题说明:
记录一下每两行(列)之间有多少对同学会交头接耳,然后sort排序,找到最多的几个,然后,再一遍sort,从小到大排,最后输出。
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,k,l,d;
int x1,y1,x2,y2;
struct zj
{
int sum,num;
}x[1000],y[1000];
bool cmp1(const zj &x,const zj &y)
{
return x.sum>y.sum;
}
bool cmp2(const zj &x,const zj &y)
{
return x.num<y.num;
}
int main()
{
scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);
for(int i=1;i<=d;i++)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if(x1==x2)y[min(y1,y2)].num=min(y1,y2),y[min(y1,y2)].sum++;
if(y1==y2)x[min(x1,x2)].num=min(x1,x2),x[min(x1,x2)].sum++;
}
sort(y+1,y+n+1,cmp1);
sort(x+1,x+m+1,cmp1);
sort(y+1,y+l+1,cmp2);
sort(x+1,x+k+1,cmp2);
for(int i=1;i<=k;i++)
printf("%d ",x[i].num);
printf("\n");
for(int i=1;i<=l;i++)
printf("%d ",y[i].num);
return 0;
}
A、试题类型:
数据结构加深。
B、算法模型:
记忆化搜索。
C、试题说明:
令dp[position][times]代表求在第position的位置上时人数还有多少。
#include <stdio.h>
#include <iostream>
#include <memory.h>
using namespace std;
int dp[101][101],n,m,s;
int DFS(int position,int times)//position是球的位置,times是人数
{
if(dp[position][times]!=-1) return dp[position][times];
if(position>n) position=1;//环形特判
if(position<1) position =n;
if(times==0)//人被淘汰了
{
if(position==1)//如果最后一个球在手上
{
return 1;
}
return 0;
}
return dp[position][times]=DFS(position-1,times-1)+DFS(position+1,times-1);//求方案总数
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
register int i,j;
memset(dp,-1,sizeof(dp));//方案数可能为0种,如果方案数大多为0的话,记搜会退化,所以要赋值为-1
cin>>n>>m;
cout<<DFS(1,m)<<endl;
return 0;
}
A、试题类型:
几何问题。
B、算法模型:
数学应用。
C、试题说明:
无。
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define maxn1 100
#define maxn2 2000
int m,n,minx,maxx,miny,maxy;
int a[maxn1+20][maxn1+20];
char s[maxn2][maxn2];
void redirect()
{
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
}
void readdata()
{
int i,j,k;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
minx=1000-2*(m-1);
maxx=1000+4*n+2;
miny=1000-2*(m-1);
maxy=0;
for(i=minx;i<=maxx;i++)
for(j=miny;j<=1000+320;j++)
s[i][j]='.';
}
void write()
{
int i,j,k;
for(j=maxy;j>=miny;j--)
{
for(i=minx;i<=maxx;i++)printf("%c",s[i][j]);
printf("\n");
}
}
void cover(int x,int y)
{
maxy=max(maxy,y+5);
s[x][y]=s[x+4][y]='+';
s[x+1][y]=s[x+2][y]=s[x+3][y]='-';
y++;
s[x][y]=s[x+4][y]='|';
s[x+1][y]=s[x+2][y]=s[x+3][y]=' ';
s[x+5][y]='/';
y++;
s[x][y]=s[x+4][y]='|';
s[x+1][y]=s[x+2][y]=s[x+3][y]=s[x+5][y]=' ';
s[x+6][y]='+';
y++;
s[x][y]=s[x+4][y]='+';
s[x+1][y]=s[x+2][y]=s[x+3][y]='-';
s[x+5][y]=' ';
s[x+6][y]='|';
x++,y++;
s[x][y]=s[x+4][y]='/';
s[x+1][y]=s[x+2][y]=s[x+3][y]=' ';
s[x+5][y]='|';
x++,y++;
s[x][y]=s[x+4][y]='+';
s[x+1][y]=s[x+2][y]=s[x+3][y]='-';
}
void work()
{
int i,j,k,x1,y1,x2,y2,x3,y3;
x1=y1=1000;
for(i=1;i<=m;i++)
{
x2=x1,y2=y1;
for(j=1;j<=n;j++)
{
x3=x2,y3=y2;
for(k=1;k<=a[i][j];k++)
cover(x3,y3),y3+=3;
x2+=4;
}
x1-=2,y1-=2;
}
write();
}
int main()
{
readdata();
work();
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。