B. Pyramid of Glasses
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

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.

Input

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.

Output

Print the single integer — the number of completely full glasses after t seconds.

Examples
input
3 5
output
4
input
4 8
output
6
Note

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.

题意:摆了一个高脚杯金字塔,每秒钟往最上面倒一整杯,一杯满了会往两边溢出流到下面两个杯子,求n层高的金字塔,倒水k分钟后,有多少杯是满的。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define MM(a,b) memset(a,b,sizeof(a));
const double eps = 1e-;
const int inf =0x7f7f7f7f;
const double pi=acos(-);
const int maxn=+; double a[][];
int main()
{
int n,t;
while(~scanf("%d %d",&n,&t))
{
int ans=;
MM(a,);
a[][]=t;
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
if(a[i][j]>=)
{
ans++;//a[i][j]第i行的第j个酒杯
a[i+][j]+=(a[i][j]-)/2.0;
a[i+][j+]+=(a[i][j]-)/2.0;
}
printf("%d\n",ans);
}
return ;
}

分析:一开始觉得这是道找规律的题,,然后就go die了,,其实只要先给第一个酒杯倒上所有的酒,然后从上往下模拟就好

上往下模拟就好

最新文章

  1. java基础之 工具类
  2. Linux常用命令查看日志
  3. Android实例-消息框(XE8+小米2)
  4. httpclient4.3 工具类
  5. 黑马程序员——Java高级应用(一)
  6. Android自定义控件实战——水流波动效果的实现WaveView
  7. Step one : 熟悉Unix/Linux Shell 常见命令行 (三)
  8. Apriori算法-数组-C语言
  9. .bat文件设置IP、DNS
  10. VC和GCC静态变量析构顺序不同
  11. 关于移动端开发,vedio标签层级高遮挡蒙版的解决方案
  12. 爬虫中xpath的特殊用法
  13. Maven安装问题
  14. function 函数
  15. AFNetworking封装-项目使用
  16. CentOS 的 /etc/profile 和 ~/.bash_profile 及 .zshrc
  17. Qt网络模块如何使用(表格)
  18. IntelliJ IDEA Tomcat中端口被占用的问题
  19. 【Pyton】【小甲鱼】爬虫4-XXOO
  20. UMG设置组件自适应居中或靠边

热门文章

  1. Go语言中 Print,Println 和 Printf 的区别(八)
  2. Spring的事务传播机制实例 (转)
  3. C语言经典100例(1-50)
  4. C++ 类类型转换函数explicit 关键字
  5. C++ 二阶构造模式
  6. O016、搭建实验环境
  7. CentOS7部署ntp服务器
  8. Centos7:mysql5.6安装,配置及使用(RPM方式)
  9. linux下sendmail邮件系统安装详情
  10. Hybrid APP架构设计