【Codeforces Round 354 (Div 2)B】【简单模拟】Pyramid of Glasses 漏斗漏水n层t秒灌满多少个
来源:互联网 发布:java 调用vbs 编辑:程序博客网 时间:2024/04/27 14:41
Mary has just graduated from one well-known University and is now attending celebration party. Students like to dream of a beautiful life, so they used champagne glasses to construct a small pyramid. The height of the pyramid is n. The top level consists of only 1 glass, that stands on 2 glasses on the second level (counting from the top), then 3 glasses on the third level and so on.The bottom level consists of n glasses.
Vlad has seen in the movies many times how the champagne beautifully flows from top levels to bottom ones, filling all the glasses simultaneously. So he took a bottle and started to pour it in the glass located at the top of the pyramid.
Each second, Vlad pours to the top glass the amount of champagne equal to the size of exactly one glass. If the glass is already full, but there is some champagne flowing in it, then it pours over the edge of the glass and is equally distributed over two glasses standing under. If the overflowed glass is at the bottom level, then the champagne pours on the table. For the purpose of this problem we consider that champagne is distributed among pyramid glasses immediately. Vlad is interested in the number of completely full glasses if he stops pouring champagne in t seconds.
Pictures below illustrate the pyramid consisting of three levels.
The only line of the input contains two integers n and t (1 ≤ n ≤ 10, 0 ≤ t ≤ 10 000) — the height of the pyramid and the number of seconds Vlad will be pouring champagne from the bottle.
Print the single integer — the number of completely full glasses after t seconds.
3 5
4
4 8
6
In the first sample, the glasses full after 5 seconds are: the top glass, both glasses on the second level and the middle glass at the bottom level. Left and right glasses of the bottom level will be half-empty.
#include<stdio.h>#include<iostream>#include<string.h>#include<string>#include<ctype.h>#include<math.h>#include<set>#include<map>#include<vector>#include<queue>#include<bitset>#include<algorithm>#include<time.h>using namespace std;void fre() { freopen("c://test//input.in", "r", stdin); freopen("c://test//output.out", "w", stdout); }#define MS(x,y) memset(x,y,sizeof(x))#define MC(x,y) memcpy(x,y,sizeof(x))#define MP(x,y) make_pair(x,y)#define ls o<<1#define rs o<<1|1typedef long long LL;typedef unsigned long long UL;typedef unsigned int UI;template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b>a)a = b; }template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b<a)a = b; }const int N = 0, M = 0, Z = 1e9 + 7, ms63 = 0x3f3f3f3f;int n, t;int a[12][12];int main(){while (~scanf("%d%d", &n, &t)){int one = 1 << n;MS(a, 0); a[1][1] = one * t;int ans = 0;for (int i = 1; i <= n; ++i){for (int j = 1; j <= i; ++j)if (a[i][j] >= one){++ans;a[i + 1][j] += (a[i][j] - one) >> 1;a[i + 1][j + 1] += (a[i][j] - one) >> 1;}}printf("%d\n", ans);}return 0;}/*【trick&&吐槽】暴力大法好,暴力保平安【题意】漏斗漏水n层t秒灌满多少个,具体如图n∈[1,10]t∈[0,1e4]【类型】简单模拟【分析】这题要搞点精致的做法?不如直接暴力模拟!数据太小啦!毕竟水满之后两头各流一半,于是我们给第一层设置2^10(或者2^9)即可,就不必担心精度问题啦。【时间复杂度&&优化】O(n*n)*/
- 【Codeforces Round 354 (Div 2)B】【简单模拟】Pyramid of Glasses 漏斗漏水n层t秒灌满多少个
- 【Codeforces Round 354 (Div 2)B】【简单模拟】Pyramid of Glasses
- Codeforces Round #354 (Div. 2)676B. Pyramid of Glasses
- Codeforces Round #354 (Div. 2) B Pyramid of Glasses(模拟)
- Codeforces Round #354 (Div. 2) B. Pyramid of Glasses (模拟)
- Codeforces Round #354 (Div. 2) B. Pyramid of Glasses(模拟)
- Codeforces Round #354 (Div. 2)-Pyramid of Glasses
- Codeforces Round #354 (Div. 2) Pyramid of Glasses
- Codeforces Round #354 (Div. 2)B.Pyramid of Glasses(思维题)
- codeforces 676B Pyramid of Glasses(模拟题)
- CodeForces 676 B. Pyramid of Glasses(模拟)
- Codeforces 354 B Pyramid of Glasses (dp)
- codeforces 676B Pyramid of Glasses 递归
- 【CodeForces 676】B - Pyramid of Glasses
- B. Pyramid of Glasses
- CodeForces 676B Pyramid of Glasses(举杯斟酒)
- Codeforces Round #107 (Div. 2) B (简单模拟)
- codeforce 676b Pyramid of Glasses
- C#使用yield关键字让自定义集合实现foreach遍历的方法
- 黑莓Z10忘记BBID密码导致手机锁定解决方案
- 手机用了VPN可以免费上网吗?
- css3 loading(SVG loading)
- Exchange Powershell 命令之 Disable-mailbox
- 【Codeforces Round 354 (Div 2)B】【简单模拟】Pyramid of Glasses 漏斗漏水n层t秒灌满多少个
- 手机用了VPN可以免费上网吗?
- 94. Bulls and Cows
- fragment使用时getArguments报空解决
- 【Codeforces Round 354 (Div 2)C】【前缀和二分or双指针】Vasya and String ab序列最多改变k位置的最长同字符子串长度
- html5 css记录
- 关于安装双系统Linux不能完整分区解决方法
- 【Codeforces Round 354 (Div 2)D】【迷宫搜索BFS】Theseus and labyrinth 门门互达 可做旋转操作 最少步数起点到终点
- 解决Vs输出中文乱码的问题