日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU2085:核反应堆(递推)

發布時間:2025/6/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU2085:核反应堆(递推) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Problem Description 某核反應堆有兩類事件發生:
高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點;
低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。
假定開始的時候(0微秒)只有一個高能質點射入核反應堆,每一微秒引起一個事件發生(對于一個事件,當前存在的所有質點都會撞擊核子),試確定n微秒時高能質點和低能質點的數目。

Input 輸入含有一些整數n(0≤n≤33),以微秒為單位,若n為-1表示處理結束。

Output 分別輸出n微秒時刻高能質點和低能質點的數量,高能質點與低能質點數量之間以逗號空格分隔。每個輸出占一行。

Sample Input 5 2 -1
Sample Output 571, 209 11, 4


?

簡單遞推,因為后面產生的粒子數都是由前面已有的粒子通過碰撞產生

于是高能粒子:a[i][0] = a[i-1][0]*3+a[i-1][1]*2;

低能粒子:a[i][1] = a[i-1][0]+a[i-1][1];

?

[cpp]?view plaincopy
  • #include?<stdio.h>??
  • #include?<string.h>??
  • #include?<algorithm>??
  • using?namespace?std;??
  • ??
  • __int64?a[35][2];??
  • ??
  • int?main()??
  • {??
  • ????int?i;??
  • ????a[0][0]?=?1;a[0][1]?=?0;??
  • ????a[1][0]?=?3;a[1][1]?=?1;??
  • ????for(i?=?2;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(~scanf("%d",&i),i!=-1)??
  • ????{??
  • ????????printf("%I64d,?%I64d\n",a[i][0],a[i][1]);??
  • ????}??
  • ??
  • ????return?0;??
  • }??
  • 總結

    以上是生活随笔為你收集整理的HDU2085:核反应堆(递推)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。