简单计算题二.ppt

上传人:sccc 文档编号:5333561 上传时间:2023-06-27 格式:PPT 页数:46 大小:582.52KB
返回 下载 相关 举报
简单计算题二.ppt_第1页
第1页 / 共46页
简单计算题二.ppt_第2页
第2页 / 共46页
简单计算题二.ppt_第3页
第3页 / 共46页
简单计算题二.ppt_第4页
第4页 / 共46页
简单计算题二.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《简单计算题二.ppt》由会员分享,可在线阅读,更多相关《简单计算题二.ppt(46页珍藏版)》请在三一办公上搜索。

1、第三讲,简单计算题(二),ACM算法与程序设计,2023/6/27,2,关于本次比赛,电子科技大学第九届程序设计竞赛暨西南地区高校邀请赛,参赛选手来自电子科技大学在读学生(包括本科生、硕士和博士)决赛会邀请来自西南地区高校的ACM-ICPC专业队伍参加,但不参与校内评奖,2023/6/27,3,关于本次比赛,报名报名时间:3月25日晚9点 截止。务必保证填写的个人信息真实,被拒绝参赛的队伍可能是因为填写信息有误或不完整。通过审核的队伍用注册的帐号和密码登录CDOJ参加比赛。若有任何疑问/寻求组队可以在 http:/,2023/6/27,4,关于本次比赛,初赛时间:3月26号星期六上午9:00

2、晚上9:00初赛采用网络赛形式,地址http:/9th UESTC Programming Contest Warmup 1(Public)2011-03-12 12:00:00 17:00:00The 9th UESTC Programming Contest Warmup 2(Private)2011-03-19 12:00:00 17:00:00初赛和热身赛期间,我们给使用电脑不方便的同学开放科研2号楼227作为比赛机房。初赛后公布所有选手代码,供交流和学习。严查作弊,组委会判定代码雷同的选手将取消其成绩。,2023/6/27,5,关于本次比赛,决赛The 9th UESTC Progr

3、amming Contest Warmup 3 2011-04-01 12:00:00 17:00:00时间:4月2日星期六13:00 18:00地点:清水河校区 科A 227、229决赛会邀请来自西南地区高校的ACM/ICPC专业队伍参加。外校队伍不参与校内评奖,2023/6/27,6,关于本次比赛,奖项设置1.晋级决赛的同学将获得纪念T-shirt2.获奖队员发给证书,作为学校评定奖学金加分与创新学分的依据。3.比赛成绩会作为校ACM-ICPC队员选拔的重要依据4.表现突出的选手,将有机会代表电子科技大学参加2011年四川省大学生程序设计竞赛。,校赛后请各位报名参加比赛的同学将你们的比赛账

4、号和队员姓名发送到下列邮箱yang_peng_;根据初赛和决赛所完成的题目数量进行打分,分数成绩将作为各位同学中期测试成绩,约占期末总成绩的20%,希望大家都能努力拼一把!若有未参加比赛的和未发送邮件的同学将没有中期测试成绩;收到邮件后将公布选课同学的校赛成绩统计结果。,校赛往年题目精选,CDOJ_1004 8球胜负(eight)http:/,Description 8球是一种台球竞赛的规则。台面上有7个红球、7个黄球以及一个黑球,当然还有一个白球。对于本题,我们使用如下的简化规则:红、黄两名选手轮流用白球击打各自颜色的球,如果将该颜色的7个球全部打进,则这名选手可以打黑球,如果打进则算他胜。

5、如果在打进自己颜色的所有球之前就把黑球打进,则算输。如果选手不慎打进了对手的球,入球依然有效。现在给出打进的球(白球除外)的顺序,以及黑球由哪方打进,你的任务是判定哪方是胜者。假设不会有一杆同时打进一颗黑球和其他彩球。,Input 输入包含多组数据。每组数据第一行是一个整数N(1=N=15),表示打进的球的个数,N=0表示结束。随后有一行,包含N个字符,依序表示打进的是何种球。如果是B,表示是红方打进的黑球,如果是L,表示是黄方打进的黑球。如果是Y则表示是黄球,R表示红球。字符间没有空格。所有输入都满足如下条件:最后一颗球打进时这局比赛正好结束,而且打进的红球和黑球都不超过7个。Output

6、对每组数据,输出一行。如果红方胜,输出Red;黄方胜,输出Yellow。,Sample Input 5RYRRB9RRRRYRRRB0Sample Output YellowRed,2008年校赛最简单的题目。只需要判断最后一个球是谁打进的,然后统计这个人自己的球是不是已经全部打进了,就可以得到答案。,#include#include int main()int n;while(1)scanf(%d,/进了7个红球则红方胜,else flag=0;/否则黄方胜 else/最后一个球是黄方打进的黑球 int rc=0;for(int ct0=0;ct0l;ct0+)if(strct0=Y)rc+

7、;/统计黑球之前进了几个黄球 if(rc=7)flag=0;/进了7个红球则黄方胜 else flag=1;/否则红方胜 if(flag)printf(Redn);else printf(Yellown);return 0;,CDOJ_1005 点球大战(penalty)http:/,Description 在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利。点球大战的规则非常简单,两方轮流派出球员罚点球,每方各罚5个。当5轮点球结束以后如果仍然不分胜负,则进入一轮定胜负的阶段。两方各派

8、一名球员罚点球,直到有一方罚进而另一方没有进为止。在北美职业冰球联赛中,也有点球大战。与足球的规则不同的是,它只先罚3轮点球,随后就进入一轮定胜负的阶段,而其他的规则完全一样。在本题中,输入将给出每次点球是否罚进,而你的任务则是输出一个“比分板”。,Input 输入包含多组数据。每组数据的第一行包含一个整数N(1=N=18),表示双方总共罚了多少个点球,N=0表示输入结束。随后有N行,每行是一个如下形式的字符串:XXXX good:表示这个点球罚进或者XXXX no good:表示这个点球没有罚进其中XXXX表示球员名字(全部由字母和空格组成,保证不会出现歧义)每一行保证不超过100个字符。X

9、XXX和good以及XXXX和no、no和good之间保证有且只有1个空格。good、no good都是小写。本题是大小写相关的。数据不保证点球大战一定结束,也不保证在结束以后立即结束这组数据(即:不用判断点球大战是否结束,只用把罚进的点球往比分上加即可)。Output 对每组数据,输出一个比分板。一个点球如果罚进,则在对应的地方标上O,如果没有进则标上X。先罚球的队伍的信息在上面,后罚的在下面。最右边标上两队的比分。具体格式参考样例输出。注意如果一轮点球只罚了一个,则后面那个点球对应的地方写上-。,Sample Input 6Riise goodBallack goodGerrard no

10、goodLampard no goodFernando Torres goodMalouda good9Christiano Ronaldo no goodMessi no goodGiggs goodAbidal no goodCarrick goodRonaldinho goodRooney goodHenry no goodTevez good0Sample Output 1 2 3 ScoreO X O 2O X O 21 2 3 4 5 ScoreX O O O O 4X X O X-1,名字可以包含空格,甚至可以包含no、good(事实上,大部分数据都包含no和good中的至少一个

11、),所以此题比较好的处理方法是找跳过名字,直接找倒数第二个单词,看它是不是no,是就是没踢进,反之就是踢进;数据出的很诡异,还有两种特殊情况,一种是只有一个good,另一种是直接no good。这两组数据不是太满足题意(第一组名字为空,第二组有歧义)空格数要和样例输出一样,否则很可能会被判为“格式错误”(Presentation Error)。,#include bool judge(char*str)int l=strlen(str);int pos=l-1;while(strpos!=)pos-;/从一行字符串的最后开始向前寻找第一个空格 strpos=0;int npos=pos-1;w

12、hile(strnpos!=)npos-;/继续向前寻找第二个空格 if(strcmp(str+npos+1,no)=0)return 0;/比较从npos+1所指向的空格后的第一个字符开始到/“0”之间的字符串是否等同“no”return 1;,参考源代码,int main()int n;while(1)scanf(%d,/输出点球进行的回合数量,之间空格隔开,printf(Scoren);for(int ct0=0;ct02;ct0+)for(int ct1=0;ct1(n+1)/2;ct1+)if(ggct1ct0=1)printf(O);cctct0+;else if(ggct1ct0

13、=2)printf(X);else printf(-);printf(%dn,cctct0);return 0;,CDOJ_1048 Clock http:/,Description Clock is invented by ancient Arabic engineers and which contributes to build the concept of accurate time for us human beings and even could be essential tool that widely used in industry,business and our rou

14、tine lives.Nevertheless,the ideology of clock turns out to be quite simply that even make sense to little kids.We could hardly imagine that how do Arabic wisdom come up with such idea to indicate time only by two or three fingers.,The other day,hhb are asking lxh and Hysramp to play his newly invent

15、ed game describe as follow.hhb randomly change the time of his lovely alarm clock then ask lxh and Hysramp to tell the degree between hour finger and minute finger.lxh seems quite gifted playing it while Hysramp does not.When Hysramp fails to answer hhb,hhb smiles to Hysramp.And Hysramp smiles to yo

16、u,an ace programmer.,Input The first line of the input contains one integer T,which indicate the number of test cases.Each test case contains one indicating the time on hhbs clock in the form of HH:MM.(0=HH 24,0=MM 60)Output One line for each test case contains only one number indicating the answer.

17、An integer or an irreducible fraction indicated the degree between hour finger and minute finger.,Sample Input 100:00Sample Output 0,怎么才能计算出时针和分针之间的夹角?直接算注意:1、答案是整数或不可约分数 2、答案在0,180之间,#includeint main()int t,p,hh,mm,sh,sm,res;scanf(%d,CDOJ_1049 Flagstonehttp:/,Description In the Qingshuihe Campus of

18、 UESTC,the most annoy problem to students are the flagstone path on the lawn.The designer seems so stupid that the flagstone path often make students step in the gap.Now a perfect step is wanted in order to not step in any gaps and step on every flagstone.The step length is required to be constant w

19、hile the length of the flagstone and gap are given different.The problem is asking you to tell the minimum length of the perfect step.To simplify the question,the foot is considered to be a point and the very beginning is the fore edge of the first flagstone,which also means the first flagstone has

20、already been stepped on.,Input The first line of the input contains one integer T,which indicate the number of test cases.In each test case,the first line contains an integer N(2=N=1e5),indicating the number of flagstone.Following N lines,and each line is the length of one flagstone.And the followin

21、g N-1 lines are the length of the gaps.All data is integer.All the length will be a positive integer,and the sum of them will fit in a 32bit signed integer.Output One line for each test case contains only one number indicating the answer.One real number indicating the perfect step length should be a

22、ccurate to two digits after the radix point.If it is impossible to find out a perfect step,just output“impossible”!,Sample Input 2 21020531020551000Sample Output 15.00impossible,每个石板踏且仅踏一次 对于第 i 块石板,一定是踏了 i-1 步到达的。设第 i 块石板的左界和有界离起点的距离L,R,可以确定步长必须在区间L/(i-1),R/(i-1)之内。问题转化为求多个区间的交。如果交集为空,则答案为impossibl

23、e,否则输出交区间的左界。,#includeint a100001;int b100001;int main()int t,p;int n,i;double h,l;double hh,ll;double s;scanf(%d,/n-1个间隔,s=0;l=a1+b1;/第二块左边界h=a1+b1+a2;/第二块右边界for(i=1;il)l=ll;if(hhh)h=hh;/计算步长区间的交集if(l=h)printf(“%.2lfn”,l);/交集存在else printf(impossiblen);return 0;,这些题目都是08、09年的初赛题目,大家觉得难度如何?太简单了!对于我们公

24、选课的那20%的期中测试成绩还有什么好担心的。希望在这周日的网络赛场上见到教室中的每一位同学,CDOJ_1043 输出前m大的数据 http:/,Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数。Input 每组测试数据有两行,第一行有两个数n,m(0n,m1000000),第二行包含n个各不相同,且都处于区间-500000,500000的整数。Output 对每组测试数据按从大到小的顺序输出前m大的数。,Sample input:5 3 3-35 92 213-644 Sample output:213 92 3,HDOJ_1425 sort,常规的

25、思想是?常规的结果是?数据的特点是?加速的方法是?如果数据可以重复呢?,用最好的排序TLE各不相同 HASH处理冲突,#include#include#define N 1000000int aN;int main(void)int i,j,n,m,t;while(scanf(%d%d,CDOJ_1010 最短路http:/,Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?,Input 输入包括多组数据。每组数据

26、第一行是两个整数N、M(N=100,M=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1=A,B=N,1=C=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。输入保证至少存在1条商店到赛场的路线。Output 对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间,Sample Input 2 11 2 33 31 2 52 3 53 1 20 0 Sample Output 3 2,#include usi

27、ng namespace std;int map110110;/存放邻接矩阵#define INF 10000000/表示无穷int main()int n,m;while(1)scanf(%d%d,for(int ct0=0;ct0m;ct0+)int a,b,c;scanf(%d%d%d,/表示未被访问的路口,dis0=0;for(int ct0=0;ct0n;ct0+)int minp=-1;int mind=INF;for(int ct1=0;ct1n;ct1+)if(fct1=0/若已走到赛场则结束,fminp=1;/表示已找到至某一个路口的最短路 for(int ct1=0;ct1=INF)/至赛场的距离为无穷 printf(Impossiblen);else printf(%dn,disn-1);return 0;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号