首页 > 代码库 > [CF-676B]PYRAMID OF GLASSES
[CF-676B]PYRAMID OF GLASSES
题目链接:http://codeforces.com/problemset/problem/676/B
很水的递推;
题目大意:
有一个n层的酒杯金字塔,每个酒杯容量为1。每秒钟,会有1份酒倒到最上方的酒杯里。当某个酒杯装满时,它会以同样的流量溢出到下一层的两个酒杯之中。求t秒过后有多少装满的酒杯。
可以假设第一层有容积为T的酒,对于每一个酒杯来说来说,如果now>=1,下一层的左右两边就分别 += (now-1)/2;
上代码
1 #include<cstdio> 2 #include<algorithm> 3 #include<cmath> 4 #include<iostream> 5 #include<cstdlib> 6 #include<string> 7 #include<cstring> 8 #include<queue> 9 #include<deque>10 #include<stack>11 #define LL long long12 using namespace std;13 int n,t,ans;14 double dp[15][15];15 int main(){16 scanf("%d%d",&n,&t);17 dp[1][1] = t;18 for(int i = 1;i <= n;i++)19 for(int j = 1;j <= i;j++){20 if(dp[i][j] >= 1.0){21 ans++;22 dp[i+1][j] += (dp[i][j]-1)/2;23 dp[i+1][j+1] += (dp[i][j]-1)/2;24 }25 }26 printf("%d\n",ans);27 return 0;28 }
[CF-676B]PYRAMID OF GLASSES
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。