codeforces118D. Caesar's Legions
地址:http://www.codeforces.com/problemset/problem/118/D
题目:
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cmath> 5 #include <cstring> 6 #include <queue> 7 #include <stack> 8 #include <map> 9 #include <vector> 10 11 #define PI acos((double)-1) 12 #define E exp(double(1)) 13 using namespace std; 14 15 int dp[110][110][2]; 16 int main (void) 17 { 18 int n1,n2,k1,k2; 19 cin>>n1>>n2>>k1>>k2; 20 memset(dp,0,sizeof(dp)); 21 for(int i=1;i<= min(n1,k1);i++) 22 dp[i][0][0] = 1; 23 for(int i = 1;i<=min(n2,k2);i++) 24 dp[0][i][1]=1; 25 for(int i = 1;i<=n1;i++) 26 for(int j = 1;j<=n2;j++) 27 { 28 for(int k=1;k<=min(i,k1);k++) 29 dp[i][j][0]=(dp[i][j][0]+dp[i-k][j][1])%100000000; 30 for(int k=1;k<=min(j,k2);k++) 31 dp[i][j][1]=(dp[i][j][1]+dp[i][j-k][0])%100000000; 32 } 33 cout<<(dp[n1][n2][0]+dp[n1][n2][1])%100000000<<endl; 34 return 0; 35 }
作者:weeping
出处:www.cnblogs.com/weeping/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。