
1446: 奶牛式乘法(mul)
题目描述
做 厌了乘法计算题的贝茜,自创了一种新的乘法运算法则。在这套法则里,A*B等于一个取自A、一个取自B的所有数字对的乘积的和。比方说,123*45等于 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54。对于2个给定的数A、B (1 <= A, B <= 长整型最大数),你的任务是,用新的乘法法则计算A*B的值。
输入
2个用空格隔开的整数:A、B
输出
输出1个整数,即新的乘法法则下A*B的值
样例输入
123 45
样例输出
54
1211: Prime Cryptarithm 牛式 (crypt1)
题目描述
下面是一个乘法竖式,如果用我们给定的那几个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式。
* * *
x * *
-------
* * *
* * *
-------
* * * *
数字只能取代*,当然第一位不能为0。 写一个程序找出所有的牛式。
输入
Line 1: 数字的个数。 Line 2: N个用空格分开的数字(每个数字都∈{1,2,3,4,5,6,7,8,9}) 。
输出
共一行,一个数字。表示牛式的总数。下面是样例的那个牛式。
2 2 2
x 2 2
------
4 4 4
4 4 4
---------
4 8 8 4
样例输入0
5
2 3 4 6 8
样例输出
1
1324: usaco-2010-Mar:极品飞车 Need For Speed boost(speed)
题目描述
贝 西正在为即将到来的汽车大奖赛,准备他的汽车。她想买一些额外的部件提高汽车的性能。她的赛车目前的质量为M (1 <= M <= 1,000),可以产生的动力为F (1 <= F <= 1,000,000)。 赛车商店一共有N (1 <= N <= 20)种部件,编号为1..N。贝西可以从这些部件中购买任意多,但是商店每种部件只有一个。部件Pi可以增加动力Fi(1 <= F_i <= 1,000,000),质量为Mi(1 <= M_i <= 1,000)。 根据牛顿第二定律 F=MA,这里F表示动力,M表示质量,A表示加速度。如果贝西要使 她的汽车总的加速度 最大(如果相等使总的重量最小)。她应该如何来选择部件 考虑一辆赛车初始动力 F=1500,质量 M=100。4种部件可以选用。
i F_i M_i
1 250 25
2 150 9
3 120 5
4 200 8
比如,只是添加第2个部件,最后的加速度为: (1500+150)/(100+9) = 1650/109 = . 下面给出的图表,显示了添加/不添加 4个部件,所有可能得到的加速度。(在第1列,1=部件添加,0表示部件不添加)。
部件 总动力 总质量 加速度
1234 F M F/M
0000 1500 100
0001 1700 108
0010 1620 105
0011 1820 113
0100 1650 109
0101 1850 117
0110 1770 114
0111 1970 122 <-- 最高的 F/M
1000 1750 125
1001 1950 133
1010 1870 130
1011 2070 138
1100 1900 134
1101 2100 142
1110 2020 139
1111 2220 147
因此,最好应该添加的部件应该是2,3,和4。
输入
*行1:3个空格隔开的整数:F,M,和N。 *行2..N+1:第i+1行包含两个空格隔开的整数:Fi和Mi
输出
*行1..P:贝西应该添加的P个额外的配件,每个一行。 如果她不需要添加任何的部件,输出“NONE”(不包含引号)。输出应该为升序,因此最后选定的配件集合为{2,4,6,7},应该输出2,4,6,7,而不是输出4,2,6,7
样例输入
1500 100 4
250 25
150 9
120 5
200 8
样例输出
2 3 4
1698: usaco-2006-Jan:The Water Bowls(水碗) (bowls)
题目描述
奶 牛们喝水的地方一行有20个碗。任何一个碗都可以正面朝上(放上一些提神的凉水)或者颠倒过来正面朝下 (容器不漏水)。他们想用它们的宽大的嘴巴弹击碗,从而让所有的20个碗都正面朝上。 他们的嘴尽管很宽大以致他们从任何地方弹击的碗都不只一个(被弹击的碗的总数是3个或者——两边弹击是两只碗)。 给你20只碗的初始状态(1=不能喝的,0=能饮用的),输出让所有的碗都正面朝上的所要弹击的最小次数。
输入
第一行:一行20个空格隔开的整数。
输出
一行:让所有的碗都正面朝下的最小的弹击次数(都为0)。对于给定的输入,给出让20只碗都变成0的最小的弹击次数。
样例输入
0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0
样例输出
3
提示
解释: 弹击第 4, 9, 和 11 只碗让所有的碗都变成可喝状态:
0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 [初始状态]
0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 [弹击了第4只碗后的状态]
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 [弹击了第9只碗后的状态]
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [弹击了第11只碗后的状态]
精心搜集整理,只为你的需要