• zzuli2460: 楼上真的是签到题


    http://acm.zzuli.edu.cn/problem.php?id=2460

    题目描述


            俗语说,美酒虽好,不要贪杯哦。今天我们的小博开始对美酒产生了兴趣,准确点说是倒酒:他拿来一堆酒杯,把他们摆成了金字塔形状,第一层一个,第二层两个,第三层三个。。。第n层n个,形状如图所示:
                                                           
    然后小博搬来很多箱箱82年的红酒(小博是位土豪),开始从金字塔顶层开始倒酒
    已知每秒钟倒出的酒量正好能装满一杯,当一个酒杯注满酒后,酒就会顺着被子流下来,并均匀地分向下一层的两个酒杯。
    如果最底层的酒杯注满了,酒会顺着杯子流到桌子上。为了方便起见,这里不考虑酒在流的过程中停留在杯沿的部分和挥发的部分,并假设酒的流速是足够快的。
    现在,小博想知道,如果他在t秒后停止倒酒,金字塔中会有多少个已经被注满的酒杯?

    输入

    测试数据有多组,每个测试数据占一行
    对于每组测试数据,一行两个整数 n 和 t (1≤n≤10,0≤t≤10000),分别表示金字塔n层  和   倒酒时间为t秒

    输出

    对于每组测试数据,输出t秒后处于满的状态的酒杯数量。输出占一行。

    样例输入

    3 5
    3 7

    样例输出

    4
    6
    
    #include<stdio.h>
    #include<string.h>
    #define N 20
    double a[N][N];
    int main()
    {
    	int n,i,j,t,ans;
    	while(scanf("%d%d",&n,&t)!=EOF)
    	{
    		memset(a,0,sizeof(a));
    		ans=0;
    		a[1][1]=t;
    		for(i=1;i<=n;i++)
    			for(j=1;j<=i;j++)
    			{
    				a[i+1][j]+=(a[i][j]-1)/2.0;
    				a[i+1][j+1]+=(a[i][j]-1)/2.0;
    			}
    		for(i=1;i<=n;i++)
    			for(j=1;j<=i;j++)
    				if(a[i][j]>=1)
    					ans++;
    		printf("%d
    ",ans);		
    	}
    	return 0;
    }
  • 相关阅读:
    error :expected initializer before
    数字转字符
    转载转载转载指针占几个字节
    转载转载转载
    二维数组1
    响应式布局
    flex布局
    wepy踩坑经历
    css命名规范(转载)
    28.设计模式
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/11852839.html
Copyright © 2020-2023  润新知