一個核電站有 n 個放核物質的坑,排列在一條直線上。如果連續 m 個坑中放入核物質就會發生爆炸,所以某些坑中就不能放核物質。
本題的任務是:對于給定的 n 和 m ,求不發生爆炸的放置核物質的方案總數。
【輸入】
兩個正整數 n 和 m ,之間用一個空格隔開。
【輸出】
一個正整數,表示方案總數。
【樣例輸入】
4 3
【樣例輸出】
13
遞歸,上代碼
1 #include<iostream> 2 using namespace std; 3 int m,n,sum=0; 4 void make(int cur,int lx) 5 { 6 if(cur==n+1) 7 { 8 sum++; 9 return; 10 } 11 if(lx<=m-1) 12 make(cur+1,lx+1); 13 make(cur+1,1); 14 } 15 int main() 16 { 17 cin>>n>>m; 18 make(1,1); 19 cout<<sum; 20 return 0; 21 }
不知怎么回事, 網 站就是不給我過
氣 得 我
想 砸 電腦,我寫的
程 序 哪
里 不對了?我明明 樣例過了!!!
別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動別激動
剛剛我用的是遞歸,我換個思路,用遞推試一試。。。
1 #include<iostream> 2 using namespace std; 3 long long ans,a[60][60]; 4 int n,m; 5 int main() 6 { 7 cin>>n>>m; 8 a[1][0]=1; 9 a[1][1]=1; 10 for(int i=2;i<=n;i++) 11 { 12 for(int j=0;j<m;j++) 13 a[i][0]+=a[i-1][j]; 14 for(int j=1;j<m;j++) 15 a[i][j]=a[i-1][j-1]; 16 } 17 for(int i=0;i<m;i++) 18 ans+=a[n][i]; 19 cout<<ans; 20 return 0; 21 }
歷 盡千辛萬苦
我終 于 讓
網 站 給
我過了, 真 的
好 不 容易啊!!
浙公網安備 33010602011771號