码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2085

时间:2017-05-21 21:40:10      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:代码   problem   递推   stream   printf   space   位数组   show   clu   

原题连接:

  http://acm.hdu.edu.cn/showproblem.php?pid=2085

题意:

  读一下就能理解。

思路:

  这是一道递推题;

  f(n)=x,y:表示n秒时有x个高能质子,y个低能质子;

  f(n).x:表示n秒时高能质子的个数;

  f(n).y:同理。

  接下来推公式:

   (1)高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;
   (2)低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。

   f(n).x=f(n-1).x*3+f(n-1).y*2;

   f(n).y=f(n-1).x+f(n-1).y;(其中是用二位数组存储)

代码:

#include<iostream>
#include<cstdio>

using namespace std;

int main()
{
  int n,i;
  long long a[34][2]={0};//用a[][0]存储高能质子数,a[][1]存储低能质子数;
  a[0][0]=1;//第0秒时的情况;
  a[0][1]=0;
  for(i=1;i<=33;i++)
  {
    a[i][0]=a[i-1][0]*3+a[i-1][1]*2;
    a[i][1]=a[i-1][0]+a[i-1][1];
  }
  while(cin>>n)
  {
    if(n<0)
      break;
    printf("%lld, %lld\n",a[n][0],a[n][1]);
  }
  return 0;
}

hdu 2085

标签:代码   problem   递推   stream   printf   space   位数组   show   clu   

原文地址:http://www.cnblogs.com/x-x-y/p/6885981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!