#16716: 為什麼><??? c++ 求盲點~~


duncan103015 (錦毛爺)

學校 : 國立溪湖高級中學
編號 : 85458
來源 : [49.216.38.72]
最後登入時間 :
2021-02-19 10:56:10
b229. TOI2009 第一題:路徑問題 -- 2009TOI研習營初選 | From: [61.223.130.159] | 發表日期 : 2019-02-01 16:35

#include <iostream>
using namespace std;
int f(long long int), g(long long int);

int f(long long int a)
{
if (a==0)
return 1;
else
return f(a-1)+g(a-1);
}

int g(long long int b)
{if (b==0)
return 0;
else
return (2*f(b-1))+g(b-1);
}

int main ()
{
long long int a;
while (cin>>a)
{
cout<<f(a)+g(a)<<endl;
}
return 0;
}

 
#16722: Re:為什麼><??? c++ 求盲點~~


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
b229. TOI2009 第一題:路徑問題 -- 2009TOI研習營初選 | From: [49.158.83.43] | 發表日期 : 2019-02-01 22:59

N = 50 時,方法數高達

16616132878186749607

而 signed long long int 正數最大只能容納到 (2 ^ 63) - 1 ,也就是

9223372036854775807

NA 的結果大概就是肇因於溢位的問題,試試看改成 unsigned long long int 吧。

 

以上。

 
ZeroJudge Forum