Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
这题的描述。。。From the 9-th month in a period of m months (0 < m < 3, m is natural number) every pair of the parent mice give birth to two pairs of mice.这句话太有歧义了可以有三种理解: 1,从第9个月起,每m个月生2只直到挂掉。比如m=2,那就是所有9,11,13,。。。岁的老鼠都生; 2,从第9个月起到第8+m个月之间均匀地总共生2只,即如果m=1那么9岁的老鼠生2只,否则,9/10岁的老鼠各生一只; 3,从第9个月到第8+m个月每个月生2只。 题目想说的是第3种。害的我嚷肮两次 附代媽 #include <iostream> using namespace std; int main() { int n,m,k; char fei; while(1){ cin >> n; if(!(~n)) break; cin >> fei >> m >> fei >> k; cout << n << "," << m << "," << k << ": "; int q[50][50] = {0}; q[1][1] = 1; for(int t = 2; t <= k; t++){ int sum = 0; for(int liv = 2; liv <= n && liv <= t; liv++){ q[t][liv] = q[t-1][liv-1]; sum += q[t-1][liv-1]; } if(sum <= 100){ int born = q[t][7] + q[t][8]; /* int jiu = 9; while(jiu <= n){ born += (q[t][jiu] << 1); jiu += m; }*/ if(m==1) born += 2*q[t][9]; else born += 2*(q[t][9] + q[t][10]); q[t][1] = born; } } int s = 0; for(int lv = 1; lv <= n && lv <= k; lv++){ s += q[k][lv]; } cout << s << endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator