- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十届“北大青鸟”杯浙江师范大学程序设计竞赛解题报告[精选]
第十届“北大青鸟”杯浙江师范大学程序设计竞赛解题报告
(罗方炜,lfw2565295@126.com ,浙师大10计软)
比赛概述
首先是本届比赛的题目:总共11题
本次比赛的提交统计:
其中A,C,K相对简单,B,D,F为中等题,E,G,H为稍难题,I,J没人解出
本次比赛前十名的情况:
有两名同学成功解出8道,还有1名同学解出7道,6道的有些数量,同时恭喜前6名获得本次比赛的一等奖,同时前十名获得比赛奖品——T恤。
题目讲解
A:Yes Or No
Time Limit:?1000MS Memory Limit:?65536K Total Submissions:?596 Accepted:?94 Description
在二维平面上有两点P1(x1,y1),P2(x2,y2),现今,P1想向P2靠拢,但只能往斜上方走(x1+1,y1+1),或往斜下方走(x1+1,y1-1)。?请问P1能否抵达P2,如果可以输出Yes,否则输出No。?
Input
第一行为一个正整数t(t=100),代表测试组数。每一组测试数据:?一行有四个整数x1,y1,x2,y2。(各数值均大于等于0且小于等于100000)?
Output
对于每一组测试数据,输出一行结果:?如果P1能够抵达P2,输出Yes?否则,输出No?
Sample Input
3
0 0 1 1
0 0 2 0
0 0 3 0
Sample Output
Yes
Yes
No
Hint
没忘记初中方程组就秒了这题拿下Second Blood吧~#includestdio.h
#includestring.h
int x1,y1,x2,y2;
int main()
{
int t,n;
scanf(%d,t);
while(t--){
scanf(%d%d%d%d,x1,y1,x2,y2);
n=x2-x1+y2-y1;
if(n%2==1){
printf(No\n);
}else{
n/=2;
if(n=0n=x2-x1){
printf(Yes\n);
}else printf(No\n);
}
}
return 0;
}
B:勇士出征
Time Limit:?1000MS Memory Limit:?65536K Total Submissions:?144 Accepted:?43 Description
一个神奇的梦,把你带到了三国时代,你变成了蜀国的大将。正是蜀魏对阵之时,刘备召集部下,欲派出勇士与敌军大将单挑,现在蜀国大将们排成一纵队,由刘备亲检查队首的这名大将是否可以出战,判断的原则是:如果队首的这名大将的战斗力是当前队列中最强的,则由他出战,否则他将会被掉到队列的尾部,出战过的大将不会在回到出战的队列中,由于蜀国大将甚多,你现在最关心的就是你是第几个出战的。
Input
第一行一个整数case(case = 100),表示测试数据的组数。?对于每组测试数据,第一行两个整数,N和K,表示当前队伍中的人数和你所在的位置。?接下来N个数,表示表示队伍中每个大将的战斗力。?(0 N = 100,0 K = N)?
Output
对于每组测试数据输出一个整数,表示你是第几个出战的。
Sample Input
3
1 1
5
4 3
1 2 3 4
6 1
1 1 9 1 1 1
Sample Output
1
2
5
思路:
此题比较简单,用队列直接模拟即可,对于队首元素,判断队列中是否有元素比它大,有比它大的,就把它放到队尾,如果没有,就直接出队列。用数组写起来会很方便,可用两个变量L,H 表示队首和队尾下标。
此题考察的是大家是否能模拟整个队列循环的过程,只要在程序的写法上注意点小小的优化还是比较简单的,可能很多同学不知道队列的知识,需要参考数据结构里的知识。
参考代码:
#includestdio.h
#define M 105
struct node {
int num, id;
} Q[M*M];
int main() {
int cas, i, k, L, R, my;
scanf(%d, cas);
while (cas-- scanf(%d %d, R, my)) {
for (i = 1; i = R; i++) {
scanf(%d, Q[i]
您可能关注的文档
最近下载
- 2025年新高考语文一轮复习信息类文本阅读专题三:分析思路结构(解析版).docx VIP
- NBT 32047-2018光伏发电站土建施工单元工程质量评定标准.docx
- 江南快速tomcb培训教材.ppt
- 东菱面包机说明书..pdf
- 外研版英语(三起点)四年级上册 Module5 大单元学历案教案 教学设计附作业设计(基于新课标教学评一体化).docx
- 信息技术《网络信息辨真伪》课件.pptx VIP
- 《生活中的函数》课件.pptx VIP
- 幼儿园中班数学《10以内的相邻数》课件.pptx VIP
- 《家乡文化生活》课件 统编版高中语文必修上册.pptx
- 四年级信息技术云盘文件巧管理教学课件.pptx VIP
文档评论(0)