首页 > 代码库 > POJ1607 & HDU 1330 & ZOJ 1216 Deck(数学题)
POJ1607 & HDU 1330 & ZOJ 1216 Deck(数学题)
题目链接:
POJ 1607 : http://poj.org/problem?id=1607
HDU 1330 :http://acm.hdu.edu.cn/showproblem.php?pid=1330
ZOJ 1216 :
Description
A single playing card can be placed on a table, carefully, so that the short edges of the card are parallel to the table‘s edge, and half the length of the card hangs over the edge of the table. If the card hung any further out, with its center of gravity off the table, it would fall off the table and flutter to the floor. The same reasoning applies if the card were placed on another card, rather than on a table.
Two playing cards can be arranged, carefully, with short edges parallel to table edges, to extend 3/4 of a card length beyond the edge of the table. The top card hangs half a card length past the edge of the bottom card. The bottom card hangs with only 1/4 of its length past the table‘s edge. The center of gravity of the two cards combined lies just over the edge of the table.
Three playing cards can be arranged, with short edges parallel to table edges, and each card touching at most one other card, to extend 11/12 of a card length beyond the edge of the table. The top two cards extend 3/4 of a card length beyond the edge of the bottom card, and the bottom card extends only 1/6 over the table‘s edge; the center of gravity of the three cards lines over the edges of the table.
If you keep stacking cards so that the edges are aligned and every card has at most one card above it and one below it, how far out can 4 cards extend over the table‘s edge? Or 52 cards? Or 1000 cards? Or 99999?
Two playing cards can be arranged, carefully, with short edges parallel to table edges, to extend 3/4 of a card length beyond the edge of the table. The top card hangs half a card length past the edge of the bottom card. The bottom card hangs with only 1/4 of its length past the table‘s edge. The center of gravity of the two cards combined lies just over the edge of the table.
Three playing cards can be arranged, with short edges parallel to table edges, and each card touching at most one other card, to extend 11/12 of a card length beyond the edge of the table. The top two cards extend 3/4 of a card length beyond the edge of the bottom card, and the bottom card extends only 1/6 over the table‘s edge; the center of gravity of the three cards lines over the edges of the table.
If you keep stacking cards so that the edges are aligned and every card has at most one card above it and one below it, how far out can 4 cards extend over the table‘s edge? Or 52 cards? Or 1000 cards? Or 99999?
Input
Input contains several nonnegative integers, one to a line. No integer exceeds 99999.
Output
The standard output will contain, on successful completion of the program, a heading:
Cards Overhang
(that‘s two spaces between the words) and, following, a line for each input integer giving the length of the longest overhang achievable with the given number of cards, measured in cardlengths, and rounded to the nearest thousandth. The length must be expressed with at least one digit before the decimal point and exactly three digits after it. The number of cards is right-justified in column 5, and the decimal points for the lengths lie in column 12.
Cards Overhang
(that‘s two spaces between the words) and, following, a line for each input integer giving the length of the longest overhang achievable with the given number of cards, measured in cardlengths, and rounded to the nearest thousandth. The length must be expressed with at least one digit before the decimal point and exactly three digits after it. The number of cards is right-justified in column 5, and the decimal points for the lengths lie in column 12.
Sample Input
1 2 3 4 30
Sample Output
Cards Overhang 1 0.500 2 0.750 3 0.917 4 1.042 30 1.997
Source
South Central USA 1998
题意:n 块相同的木板重叠,最多能够伸出桌面多远?
代码如下:(POJ)
#include <cstdio> int main() { int n; double ans; printf("Cards Overhang\n"); while(~scanf("%d",&n)) { ans = 0; for(int i = 1; i <= n; i++) { ans+=1.0/(2*i); } printf("%5d%10.3lf\n",n,ans); } return 0; }
注意:HDU & ZOJ 和 POJ题目里的Cards Overhang 不同,POJ里的要少掉一个#和空格!
有点坑啊!
HDU 和ZOJ里 把上面的代码的Cards Overhang改一下就可以了!
----------------------------------------------------------------------------------------------------------------------------------------------------
代码如下:
#include <cstdio> int main() { int n; double ans; printf("# Cards Overhang\n"); while(~scanf("%d",&n)) { ans = 0; for(int i = 1; i <= n; i++) { ans+=1.0/(2*i); } printf("%5d%10.3lf\n",n,ans); } return 0; }
POJ1607 & HDU 1330 & ZOJ 1216 Deck(数学题)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。