Is It A Tree? 时间限制:1000 ms 内存限制:65536 KB 总提交:44 (13 users) 正确提交:5 (5 users) 描述 “树”是一种很常用的数据结构,一个“树”结构可以为空,或是由单个节点或通过有向边连接而成的多个节点组成,同时它还必须满足以下条件。 其中有一个节点,没有有向边指向它,它被称为“根”节点; 有且仅有一条边指向“树”结构中除根以外的其他节点; 有一个唯一的从根节点指向每个节点的有向边的序列。 举例说明“树”结构,如下图,节点用圆圈表示,有向边用带箭头的线表示。前两幅图表示的是“树”,但是最后一幅不是。 聪明的你需要解决的问题是,我们将给出一组边的描述。对于每一组描述,请判断它所表示的结构是否是“树”。 11
输入 输入包含多组描述,输入末尾由两个负数结束。每一组测试数据由许多“对”数组成,并由一对0作为结尾。每一对数表示一条边,第一个数表示有向边的起点,第二个数表示有向边的终点。节点编号总是大于0的。 节点总数不超过2000。 输出 对于每一组描述,如果它是一个“树”结构,则输出“Case k is a tree.”,反之输出“Case k is not a tree.” 其中k是所给出描述的编号(编号从1开始)。 样例输入 6 8 5 3 5 2 6 4 5 6 0 0 8 1 7 3 6 2 8 9 7 5 7 4 7 8 7 6 0 0 3 8 6 8 6 4 5 3 5 6 5 2 0 0 -1 -1 样例输出 Case 1 is a tree. Case 2 is a tree. Case 3 is not a tree. 12
Coconuts, Revisited 时间限制:1000 ms 内存限制:65536 KB 总提交:51 (19 users) 正确提交:16 (16 users) 描述 这个故事的题目叫做“椰子(Coconuts)”。 讲述的是在一次海难中五个人和一只猴子被困在了一个孤岛上。他们依靠采拾岛上的椰子度过第一个夜晚。当夜,其中的一个人醒了,他决定取回属于他的那一份椰子。他把椰子分为五份,结果剩下了一个椰子,于是那个人就把自己的那一份藏了起来,并把这个剩下的椰子给那只猴子吃了。 过了一会儿,第二个人起床了,他也做了同样的事情。他把剩下的椰子(有一部分已经被第一个人取走了)分为五份,剩下了一个椰子,他同样把自己那一份藏了起来,把剩下的那个椰子送给那只幸运的猴子吃了。 接着,第三个,第四个,和第五个人又用同样的步骤,做了一样的事情。 第二天早上,大家起床后,大家一起把剩下的椰子平均分为五份,这一次,猴子没有那么幸运——没有椰子再剩下来了。 有一个显而易见的问题,“怎么样计算一开始椰子的总数呢?”,不难发现,其实这个数有无限种可能,比如最小的几个数是3、121等等。但是这都不是我们今天的问题。 我们再回过头来看上面这个问题。现在的问题是,如果我们已经知道了最开始椰子的数量,要使执行上述步骤得以进行的所可能的最多的人数是多少人? 输入 输入包括一系列整数,每个整数表示一开始采拾的椰子的总数。序列的末尾以一个负数表示输入结束。 输出 对于每一组数据,判断能够参与这个过程的最大的人数是多少。输出的格式参见输出样例。如果无解,也需要输出相应的语句。 样例输入 25 30 3121 -1 13
样例输出 25 coconuts, 3 people and 1 monkey 30 coconuts, no solution 3121 coconuts, 5 people and 1 monkey 14
Doing Windows 时间限制:1000 ms 内存限制:65536 KB 总提交:0 (0 users) 正确提交:0 (0 users) 描述 电脑显示屏幕上屏幕是矩形的。 一个屏幕的宽高比就是它的高度除以宽度。这个性质也适用于那些在屏幕上出现的矩形窗口,就是窗口高度除以它的宽度。对于这个问题,我们假设窗口和桌面的大小规模都是用整数像素来衡量的。 假设你的操作系统只允许窗口按照这个规则改变大小:高度,宽度不能单独改变,只能同时改变且高宽比不能变化。比如,一个窗口是150×100,宽高比是1.5,或者你可以改变成225×150,也是1.5,但是224×150就不可以了。每个窗口可以在桌面上任意移动位置,平移操作,但是必须保证整个窗口在桌面可视,没有超出桌面范围的部分。 给你屏幕的大小和4个窗口的初始化大小(宽高都是整数),请问是否可以通过改变4个窗口的大小(按照如上规则)使得4个窗口恰好可以覆盖整个桌面,且相互之间没有覆盖的部分? 输入 输入数据包含多组数据,最后以一对0结束。每组数据有5对整数,第一对是屏幕的宽和高,后4对分别是4个窗口的初始化的宽和高。 输出 输出对于每组数据仅一行,包含组数标记(从1开始计数),然后是Yes或者No,分别表示是否可以达到题目所给的要求。 样例输入 400 400 10 10 35 35 15 15 100 100 200 300 10 10 20 20 30 45 40 60 200 250 10 10 20 20 30 45 40 60 0 0 样例输出 Set 1: Yes Set 2: No Set 3: Yes 15