Pyramid of Glasses
来源:互联网 发布:windows 组播静态路由 编辑:程序博客网 时间:2024/05/13 12:39
//递推公式,感觉和之前学习的那个三角形很像啊#include <stdio.h>double dp[11][11];//静态数组赋0int main(){ int n,t,count=1;//第一个杯子是1 scanf("%d%d",&n,&t); dp[1][1]=t; for(int i=2;i<=n;i++) {//因为第一层已经赋值了,从第二层开始 for(int j=1;j<=i;j++){ if(dp[i-1][j]>1) dp[i][j]+=(dp[i-1][j]-1)/2; if(dp[i-1][j-1]>1) dp[i][j]+=(dp[i-1][j-1]-1)/2; if(dp[i][j]>=1) count++; } } /* if(t==0) printf("0\n"); else printf("%d\n",count);*/ printf("%d\n",t==0?0:count);//一个很有趣的写法 return 0;}
一个要找规律的递推公式,首先把杯子假设无限大,把t灌进去然后再一步步推,每个杯子都有两个父亲,一个是【i-1】【j】一个是【i-1】【j-1】。
把两个父亲除以二,但是因为涉及除法所以dp数组要用double。
一开始忘了考虑t为0的情况导致测试点7出错。
在网上看到了一个把输出简化的方法,感觉选择表达式没怎么用过
0 0
- B. Pyramid of Glasses
- E - Pyramid of Glasses
- Pyramid of Glasses
- Pyramid of Glasses
- codeforces 676B Pyramid of Glasses 递归
- 【CodeForces 676】B - Pyramid of Glasses
- codeforce 676b Pyramid of Glasses
- Codeforces Round #354 (Div. 2)676B. Pyramid of Glasses
- codeforces 676B Pyramid of Glasses(模拟题)
- Codeforces Round #354 (Div. 2)-Pyramid of Glasses
- Codeforces 354 B Pyramid of Glasses (dp)
- Codeforces Round #354 (Div. 2) Pyramid of Glasses
- CodeForces 676B Pyramid of Glasses(举杯斟酒)
- CodeForces 676 B. Pyramid of Glasses(模拟)
- Pyramid of Glasses 酒杯金字塔 [CF-676B]
- Codeforces Round #354 (Div. 2) B Pyramid of Glasses(模拟)
- Codeforces Round #354 (Div. 2)B.Pyramid of Glasses(思维题)
- CodeForces 676B Pyramid of Glasses【杨辉三角倒鸡尾酒】
- java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
- Redis 列表(List)
- Android RadioGroup和RadioButton
- ABAP 7.4新特性(四):内表访问表达式
- ffmpeg链接收藏
- Pyramid of Glasses
- 如何将下载的谷歌卫星地图导出成多张等份大图
- Plus One
- Redis 集合(Set)
- 程序中存储和处理精确浮点数
- PP生产订单的BADI增强 WORKORDER_UPDATE
- 此构造版本无效
- android:ListView中的getView原理
- sql server系统表详细说明