首页 > 代码库 > HDU - 1330 Deck(物理学力矩)
HDU - 1330 Deck(物理学力矩)
题意:在桌子边上叠纸牌,使纸牌超出桌边的长度最长,并且不能掉下去。
即重心最多在桌子边缘上,问给你N张纸牌,最长能超出桌子边缘多长。
把第一块木板的重心放在第二块木板的右边缘,把这两块木板的重心放在第三块
木板的右边缘,把这三块木板的重心放在第四块木板的右边缘??利用杠杆原理
可以推出,如果每块木板都是单位长,那么 n 块木板可以伸出桌面 (1 + 1/2 +
1/3 + … + 1/n) / 2 个单位的长度。
最终得到一个递推式:a[i] = a[i-1] + 1.0/i/2
(格式很重要)
1 #include<stdio.h> 2 #include<string.h> 3 4 int main(){ 5 double arr[100010]; 6 arr[1]=0.5; 7 for(int i=2;i<=100000;i++) 8 arr[i]=arr[i-1]+1.0/i/2; 9 int n; 10 printf("# Cards Overhang\n"); 11 while(scanf("%d",&n)!=EOF){ 12 printf("%5d%10.3lf\n",n,arr[n]); 13 } 14 return 0; 15 }
HDU - 1330 Deck(物理学力矩)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。