![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛入门到进阶
The_B1
这个作者很懒,什么都没留下…
展开
-
产生冠军(c++)
输入含有一些选手群,每群选手都以一个整数n(n<1000)开头,后跟n对选手的比赛结果,比赛结果以一对选手名字(中间隔一空格)表示,前者战胜后者。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上产生了冠军。对于每个选手群,若你判断出产生了冠军,则在一行中输出“Yes”,否则在一行中输出“No”。如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。原创 2024-01-30 21:19:59 · 571 阅读 · 1 评论 -
士兵队列训练问题
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。原创 2024-01-29 19:52:07 · 395 阅读 · 0 评论 -
看病要排队
不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。对于每个"OUT A"事件,请在一行里面输出被诊治人的编号ID。诊治人的编号ID的定义为:在一组测试中,"IN A B"事件发生第K次时,进来的病人ID即为K。1:"IN A B",表示有一个拥有优先级B的病人要求医生A诊治。(0原创 2024-01-29 00:41:19 · 704 阅读 · 0 评论 -
ACboy 再次需要你的帮助!
每个问题的第一行是一个整数 N(命令数),以及一个单词“FIFO”或“FILO”。(你很高兴,因为你知道“FIFO”代表“先进先出”,而“FILO”的意思是“先进后出”)。但当你到达迷宫之门时,怪物说:“我听说你很聪明,但如果不能解决我的问题,你就会和ACboy一起死。对于每个命令“OUT”,您应该输出一个整数,具体取决于单词是“FIFO”或“FILO”,或者如果没有任何整数,则输出单词“None”。而问题的答案是一扇门的通行证,所以如果你想拯救ACboy,请仔细回答问题!每个子问题的输入如上所述。原创 2024-01-27 19:21:03 · 589 阅读 · 0 评论 -
简单计算器
测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。当一行中只有0时输入结束,相应的结果不要输出。读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。原创 2024-01-26 21:38:50 · 404 阅读 · 0 评论 -
文本反转(Text Reverse)
伊格内修斯喜欢用相反的方式写字。给定 Ignatius 编写的一行文本,您应该反转所有单词,然后输出它们。输入包含多个测试用例。输入的第一行是一个整数 T,它是测试用例的数量。接下来是 T 个测试用例。每个测试用例都包含一行包含多个单词的行。一行最多有 1000 个字符。对于每个测试用例,您应该输出已处理的文本。原创 2024-01-24 18:10:33 · 486 阅读 · 1 评论 -
圆桌问题(c++)
圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死......依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。对于每一组数据,输出2n个大写字母,'G'表示好人,'B'表示坏人,50个字母为一行,不允许出现空白字符。多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767);原创 2024-01-23 15:50:05 · 450 阅读 · 1 评论