地址:http://acm.hdu.edu.cn/showproblem.php?pid=2374
题意:有n个碗,标号为1到n。每个碗内有一些小珠子。每次从一个碗里拿出一个珠子,此时要往所有编号小于它的碗内各放入一颗珠子。问要拿多少次才能把所有的珠子拿完。
mark:直接模拟。没注意I64d,1wa。
代码:
# include <stdio.h>
long long num[60] ;
int main ()
{
int i, j, n ;
long long rtn ;
while (~scanf ("%d", &n),n)
{
rtn = 0 ;
num[n] = 0 ;
for(i = 0 ; i < n ; i++)
scanf ("%I64d", &num[i]) ;
for (i = n-1 ; i>= 0 ; i--)
{
rtn += num[i] ;
for (j = i-1 ; j>= 0; j--)
num[j] += num[i] ;
}
printf ("%I64d\n", rtn) ;
}
return 0 ;
}