关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2013年、普及组、复赛,第19届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
送分题。
B、算法模型:
经典计数器 longlong。
C、试题说明:
无。
#include<iostream>
using namespace std;
int main()
{
long long n,i,x,b,c,t=0;
cin>>n>>x;//输入范围与要查的数字;
for(i=1;i<=n;i++)//一到n进行循环;
{
b=i;//为了不改变i的值,就把i赋值给一个数;
while(b!=0)//如果b不等于0,继续循环;
{
c=b%10;//求是否是x,是的话计数器加一;
b=b/10;//求下一个数字是否为x;
if(c==x) t++;计数器加一;
}
}
cout<<t<<endl;//输出计数器的数字;
return 0;//结束
}
A、试题类型:
送分题。
B、算法模型:
表达式问题。
C、试题说明:
无。
// luogu-judger-enable-o2
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
long long shu,sum=0,cj;//shu表示当前输入的数,cj为当前阶段的和
char ch=0,newch;//ch为上一个运算符 newch为当前输入的运算符
bool flag=1;
while(flag)
{
scanf("%lld",&shu);
flag=scanf("%c",&newch)==1?true:false;//当输入结束时,while结束
if(ch==0)
cj=shu;//如果刚开始输入,将阶段和置为当前数
if(ch=='+')
sum=(sum+cj)%10000,cj=shu;//如果是+号,进行加法操作
if(ch=='*')
cj=(cj*shu)%10000;//如果是乘号,进行乘法运算
if(!flag)
sum=(sum+cj)%10000;//最后一次操作
ch=newch;//每次输入后把旧运算符每次更新
}
printf("%lld",sum);//输出
}
A、试题类型:
基本逻辑推理。
B、算法模型:
DP。
C、试题说明:
本题关键是:最终答案必定产生在第一个位置或最后一个位置。然后要注意做的过程中,不要让答案超过10亿,超过了就%p,先计算到i位置的最大字段和,再计算每个小朋友的分数。
#include <cstdio>
#include <algorithm>
using namespace std;
long long a[1000005][3],n,p,maxn,x;//使用long long 以防爆表
bool bo=0;
int main()
{
scanf("%lld%lld",&n,&p);
p=abs(p);
scanf("%lld",&x);
a[1][1]=a[1][0]=a[1][2]=x;//处理第一位
maxn=x;//作为目前的最大值
for(long long i=2;i<=n;i++)
{
scanf("%lld",&x);
if (a[i-1][1]>0) a[i][1]=a[i-1][1]+x;//算到i位时的最大字段和
else a[i][1]=x;
a[i][0]=max(maxn,a[i][1]);
maxn=a[i][0];
}
a[2][2]=a[1][0]*2;
if (a[2][2]>=a[1][2])
bo=1;
for (long long i=3;i<=n;i++)
if (a[i-1][0]<0) a[i][2]=a[i-1][2]; else//计算分数
{
a[i][2]=a[i-1][2]+a[i-1][0];
if (a[i][2]>a[1][2]) bo=1;
if (a[i][2]>1000000000) a[i][2]%=p;
}
if (bo)
printf("%lld\n",a[n][2]%p);
else
printf("%lld\n",a[1][2]%p);
return 0;
}
A、试题类型:
生活推理。
B、算法模型:
代码训练。
C、试题说明:
无。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define maxn 1010
int n, m,first,ans=0,s,a[maxn],e[maxn][maxn],rudu[maxn],ss[maxn],top;
bool f[maxn],vis[maxn];
void xx()
{
scanf("%d%d",&n,&m);
for (int i = 1; i <= m; i++)
{
memset(f,0,sizeof(f));
scanf("%d",&s);
for (int j=1;j<=s;j++)
{
scanf("%d",&a[j]);
f[a[j]] = 1;
}
for (int j=a[1];j<=a[s];j++)
if (!f[j])
for (int k=1;k<=s;k++)
if (!e[j][a[k]])//在起始点内不能停靠的站向可以停靠的站连有向边
{
e[j][a[k]]=1;
rudu[a[k]]++;
}
}
}
void tp()
{
first=1;
while (top!=0||first)
{
first=0;
top=0;
for (int i=1;i<=n;i++)
if (!rudu[i]&&!vis[i])
{
ss[++top]=i;
vis[i]=1;
}
for (int i=1;i<=top;i++)
for (int j=1;j<=n;j++)
if (e[ss[i]][j])
{
e[ss[i]][j]=0;
rudu[j]--;
}
ans++;
}
ans--;//因为当top为0的时候累加器还在累加,所以最后要减去1
}
int main()
{
xx();
tp();
printf("%d",ans);
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。