首页 > 其他 > 详细

POJ3046ANT_COUNTING

时间:2019-09-11 21:33:46      阅读:65      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <list>
#include <set>
#include <stack>
#include <map>

using namespace std;
const int MAX_A = 100002;
const int MAX_T = 1002;
int T, A, S, B;
int a[MAX_T];
int dp[2][MAX_A];
const int MOD = 1e6;

int main(void)
{
    cin>>T>>A>>S>>B;
    //输入组别的数量、蚂蚁的数量、起始的地方、终止的地方
    int x;
    for(int i = 0; i < A; i++){
        scanf("%d", &x);     //组的编号其实是 0 到 T - 1
        a[x-1]++;
    }
    //UNIT OPTION
    memset(dp, 0, sizeof(dp));
    for(int i = 0; i <= a[0]; i++)  dp[0][i] = 1;
    // END OF INIT
    for(int i = 1; i < T; i++){
        if(i & 1){
            memset(dp[1], 0, sizeof(dp[1]));
            for(int j = 0; j <= B; j++){
                for(int k = 0; k <= a[i] && k <= j; k++){
                    dp[1][j] += dp[0][j-k], dp[1][j] %= MOD;
                }
            }
        }
        else{
            memset(dp[0], 0, sizeof(dp[0]));
            for(int j = 0; j <= B; j++){
                for(int k = 0; k <= a[i] && k <= j; k++){
                    dp[0][j] += dp[1][j-k], dp[0][j] %= MOD;
                }
            }
        }
    }
    int res = 0;
  //  printf("SHOW THE TMEP\n");
    if((T - 1) & 1){
     //   for(int i = 0; i < S; i++)  printf(" i  %d : %d\n", i, dp[1][i]);
        for(int i = S; i <= B; i++){
     //       printf(" i  %d : %d\n", i, dp[1][i]);
            res += dp[1][i];
            res %= MOD;
        }
    }
    else{
      //  for(int i = 0; i < S; i++)  printf(" i  %d : %d\n", i, dp[0][i]);
        for(int i = S; i <= B; i++){
     //       printf(" i  %d : %d\n", i, dp[0][i]);
            res += dp[0][i];
            res %= MOD;
        }
    }
 //   printf("THE RESULT :   ");
    printf("%d\n", res);
    return 0;
}

注意  剩余 后 6 位; 然后你需要 MOD 1E6; 并不是 1E7 !!!!!!!!

POJ3046ANT_COUNTING

原文:https://www.cnblogs.com/lucky-light/p/11508902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!