关键词:
北京中关村;海淀黄庄;北京大学;清华大学。少儿编程;中小学编程;信息学竞赛;计算机竞赛;NOIP;NOIP竞赛;CSP-J/S竞赛;NOI竞赛。北京中学;东坝。
2019年、普及组、复赛,第25届。
面向6-18岁中小学生,做最专业的中小学编程教育。
解析与答案:
A、试题类型:
字符串问题。
B、算法模型:
基本长度。
C、试题说明:
字符串长度固定为8。
读入数据,判断数据是否为1,累计数据。
#include <cstdio>
int main()
{
freopen("number.in", "r", stdin);
freopen("number.out", "w", stdout);
char ch;
int ans = 0;
while (scanf("%c", &ch)!=EOF)
{
if ('1'==ch)
{
ans++;
}
}
printf("%d\n", ans);
fclose(stdin);
fclose(stdout);
return 0;
}
A、试题类型:
基本数据结构。
B、算法模型:
列表。
C、试题说明:
列表是一种好的方式。
从时间上来看,可能有多个优惠券满足条件,从中选择价格上合适的最早的那个即可。
如果时间上不能满足,对于此后的公交出行方式,也不会满足条件。
#include<iostream>
#include<list>
using namespace std;
typedef struct TrafficNumber
{
int price;
int startTime;
TrafficNumber(int price, int startTime):price(price),startTime(startTime)
{
}
}TrafficNumber;
int main()
{
int count;
list<TrafficNumber> coupon;
cin>>count;
//总的花费
int totalCost = 0;
while(count--)
{
int type;
int price;
int startTime;
cin>>type>>price>>startTime;
//坐地铁必须要付钱
if (type == 0)
{
totalCost += price;
coupon.push_back(TrafficNumber(price, startTime));
}
else
{
bool findCoupon = false;
list<TrafficNumber>::iterator pCoupon;
for(pCoupon = coupon.begin(); pCoupon!= coupon.end();)
{
TrafficNumber trafficNumber = *pCoupon;
if(trafficNumber.startTime + 45 < startTime)
{
// 已经超时的直接剔除
pCoupon=coupon.erase(pCoupon);
continue;
}
if (trafficNumber.price>=price)
{
// 消费过的优惠券剔除
findCoupon = true;
pCoupon=coupon.erase(pCoupon);
break;
}
pCoupon++;
}
if (!findCoupon)
{
totalCost += price;
}
}
}
cout<<totalCost<<endl;
return 0;
}
A、试题类型:
最有方案。
B、算法模型:
背包问题。
C、试题说明:
最优方案可以用完全背包求。价值、体积、容量。
物品下一天卖的利润
物品当天的价格
当天持有金币数
最优方案可获得的金币数:先知道每一天持有的金币数,再做一遍完全背包求出当天可获得的最大价值,然后用这个最大价值求出下一天持有的金币数,就可求出最后一天持有的金币数,即答案。
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,p;
int a[101][101],b[101],h[10001],maxx,an;
bool bz[10001];
int main()
{
freopen("souvenir.in","r",stdin);
freopen("souvenir.out","w",stdout);
scanf("%d%d%d",&m,&n,&p);
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=1;i<=m;i++)
{
memset(h,0,sizeof(h));
memset(bz,0,sizeof(bz));
maxx=0;bz[0]=1;an=p;
if(i==m)
continue;
for(int j=1;j<=n;j++)
{
if(a[i+1][j]-a[i][j]<=0)continue;
for(int k=0;k<=min(p-a[i][j],maxx);k++)
{
if(bz[k]==1)
{
if(h[k+a[i][j]]<h[k]+(a[i+1][j]-a[i][j]))
{
h[k+a[i][j]]=h[k]+(a[i+1][j]-a[i][j]);
bz[k+a[i][j]]=1;
maxx=max(maxx,k+a[i][j]);
}
}
}
}
for(int j=1;j<=maxx;j++)
{
an=max(an,p+h[j]);
}
p=an;
}
printf("%d",p);
return 0;
}
A、试题类型:
结构与算法。
B、算法模型:
最短路径。
C、试题说明:
最短路径与奇偶性。
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1e5+100;
struct node
{
int x,y,next;
}a[2*N];int len,last[N];
void ins(int x,int y)
{
a[++len].x=x;
a[len].y=y;
a[len].next=last[x];
last[x]=len;
}
bool bk[N][2];
int d[2*N][2],f[N][2];
int main()
{
freopen("work.in","r",stdin);
freopen("work.out","w",stdout);
int n,m,q;
scanf("%d%d%d",&n,&m,&q);
len=0;
memset(last,0,sizeof(last));
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
ins(x,y);ins(y,x);
}
int SUM=0;
for(int k=last[1];k;k=a[k].next)
SUM++;
if(SUM==0)
{
for(int i=1;i<=q;i++)
printf("No\n");
return 0;
}
memset(f,60,sizeof(f));
int st=0,ed=1;
d[1][0]=1;
d[1][1]=0;
f[1][0]=0;
memset(bk,true,sizeof(bk));
bk[1][0]=false;
while(st<ed)
{
st++;
int x=d[st][0],c=d[st][1];
for(int k=last[x];k;k=a[k].next)
{
int y=a[k].y;
if(bk[y][1-c])
{
f[y][1-c]=f[x][c]+1;
bk[y][1-c]=false;
d[++ed][0]=y;
d[ed][1]=1-c;
}
}
}
for(int i=1;i<=q;i++)
{
int A,L;
bool pd=false;
scanf("%d%d",&A,&L);
if(L%2==0&&f[A][0]<=L)
pd=true;
if(L%2==1&&f[A][1]<=L)
pd=true;
if(pd)
printf("Yes\n");
else
printf("No\n");
}
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、微信公众号:
添加微信,获取资料。
关注公众号,获取动态。