摘要: 题目 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分。例如,福特公司拥有马自达公司12%的股票。据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了:公司A = 公司B。公司A拥有大于50%的公司B的股票。公司A控制K(K >= 1)个公司,记为C1, ..., CK,每个公司Ci拥有xi%的公司B的股票,并且x1+ .... + xK> 50%。(包括公司本来持有的股票)给你一个表,每行包括三个数(i,j,p);表明公司i享有公司j的p%的股票。计算所有的数对(h,s),表明公司h控制公司s。至多有100个公司。写一个程序读入N组数(i,j,p 阅读全文
posted @ 2012-07-19 01:17 AbandonZHANG 阅读(276) 评论(0) 推荐(0)
摘要: 农民约翰准备购买一群新奶牛。 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛。这些奶牛间的关系可以用二叉树来表示。这些二叉树总共有N个节点(3 <= N < 200)。这些二叉树有如下性质:描述每一个节点的度是0或2。度是这个节点的孩子的数目。树的高度等于K(1 < K < 100)。高度是从根到最远的那个叶子所需要经过的结点数; 叶子是指没有孩子的节点。有多少不同的家谱结构? 如果一个家谱的树结构不同于另一个的, 那么这两个家谱就是不同的。输出可能的家谱树的个数除以9901的余数。格式PROGRAM NAME: nocowsINPUT FORMAT(file no 阅读全文
posted @ 2012-07-19 01:15 AbandonZHANG 阅读(329) 评论(0) 推荐(0)
摘要: 描述母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统。由于它们特殊的思考方式,它们对货币的数值感到好奇。传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单位面值组成的。母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。举例来说, 使用一个货币系统 {1,2,5,10,...}产生 18单位面值的一些可能的方法是:18x1, 9x2, 8x2+2x1, 3x5+2+1,等等其它。 写一个程序来计算有多少种方法用给定的货币系统来构造一定数量的面值。保证总数将会适合long long (C/C++) 和 Int64 (Free Pascal) 阅读全文
posted @ 2012-07-19 01:13 AbandonZHANG 阅读(500) 评论(0) 推荐(0)
摘要: 描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大格式PROGRAM NAME: numtriINPUT FORMAT:(file numtri.in)第一个行包含 R(1<= R<=1000) ,表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100... 阅读全文
posted @ 2012-07-19 01:11 AbandonZHANG 阅读(238) 评论(0) 推荐(0)
摘要: 描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。0 1 2 3 4 5 6 -------------------------1 | | O | | | | | -------------------------2 | | | | O | | | -------------------------3 | | | | | | O | -------------------------4 | O | ... 阅读全文
posted @ 2012-07-19 01:05 AbandonZHANG 阅读(589) 评论(0) 推荐(0)
摘要: 三值的排序IOI'96 - Day 2 排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌序的时候。 在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。 写一个程序计算出,给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数。 PROGRAM NAME: sort3INPUT FORMATLine 1:N (1 <= N <= 1000)Lines 2-N+1:每行一个数字,共N行。(1..3) SAMPLE INPUT (file sort3.in) 9 2 2 1 3 3 .. 阅读全文
posted @ 2012-07-19 01:01 AbandonZHANG 阅读(355) 评论(0) 推荐(0)
摘要: 健康的好斯坦奶牛 农民JOHN以拥有世界上最健康的奶牛为骄傲。他知道每种饲料中所包含的的牛所需的最低的维他命量是多少。请你帮助农夫喂养他的牛,以保持他们的健康,使喂给牛的饲料的种数最少。 给出牛所需的最低的维他命,输出喂给牛需要哪些种类的饲料。 PROGRAM NAME: holsteinINPUT FORMAT第1行:一个整数V(1<=V<=25),表示需要的维他命的种类数。第2行:V个整数(1<=每个数<=1000),表示牛每天需要的维他命的最小量。第3行:一个整数G(1<=G<=15),表示可用来喂牛的饲料的数量。下面G行,第i行表示编号为 i饲料包含 阅读全文
posted @ 2012-07-19 00:59 AbandonZHANG 阅读(897) 评论(0) 推荐(0)
摘要: 给出 N,B 和 D,要求找出 N 个由0或1组成的编码(1 <= N <= 64),每个编码有 B 位(1 <= B <= 8),使得两两编码之间至少有 D 个单位的“Hamming距离”(1 <= D <= 7)。“Hamming距离”是指对于两个编码,他们二进制表示法中的不同二进制位的数目。看下面的两个编码 0x554 和 0x234(0x554和0x234分别表示两个十六进制数):0x554 = 0101 0101 01000x234 = 0010 0011 0100不同位 xxx xx因为有五个位不同,所以“Hamming距离”是 5。格式PROG 阅读全文
posted @ 2012-07-19 00:55 AbandonZHANG 阅读(1020) 评论(0) 推荐(0)
摘要: The Castle城堡IOI'94 - Day 1我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张“幸运爱尔兰”(一种彩票)。结果这张彩票让他获得了这次比赛唯一的奖品——坐落于爱尔兰郊外的一座梦幻般的城堡![编辑]描述喜欢吹嘘的农夫约翰立刻回到有着吹嘘传统的威斯康辛老家开始吹嘘了, 农夫约翰想要告诉他的奶牛们关于他城堡的一切。他需要做一些吹嘘前的准备工作:比如说知道城堡有多少个房间,每个房间有多大。另外,农夫约翰想要把一面单独的墙(指两个单位间的墙)拆掉以形成一个更大的房间。 你的工作就是帮农夫约翰做以上的准备,算出 阅读全文
posted @ 2012-07-18 23:43 AbandonZHANG 阅读(411) 评论(0) 推荐(0)
摘要: 对于从1到N (1 <= N <= 39) 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,每个子集合的所有数字和是相等的:[编辑]描述{3} 和 {1,2}这是唯一一种分法(交换集合位置被认为是同一种划分方案,因此不会增加划分方案总数) 如果N=7,有四种方法能划分集合{1,2,3,4,5,6,7},每一种分法的子集合各数字和是相等的:{1,6,7} 和 {2,3,4,5} {注 1+6+7=2+3+4+5}{2,5,7} 和 {1,3,4,6}{3,4,7} 和 {1,2,5,6}{1,2,4,7} 阅读全文
posted @ 2012-07-18 23:42 AbandonZHANG 阅读(240) 评论(0) 推荐(0)