POJ3046ANT_COUNTING
#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 = ;
const int MAX_T = ;
int T, A, S, B;
int a[MAX_T];
int dp[][MAX_A];
const int MOD = 1e6; int main(void)
{
cin>>T>>A>>S>>B;
//输入组别的数量、蚂蚁的数量、起始的地方、终止的地方
int x;
for(int i = ; i < A; i++){
scanf("%d", &x); //组的编号其实是 0 到 T - 1
a[x-]++;
}
//UNIT OPTION
memset(dp, , sizeof(dp));
for(int i = ; i <= a[]; i++) dp[][i] = ;
// END OF INIT
for(int i = ; i < T; i++){
if(i & ){
memset(dp[], , sizeof(dp[]));
for(int j = ; j <= B; j++){
for(int k = ; k <= a[i] && k <= j; k++){
dp[][j] += dp[][j-k], dp[][j] %= MOD;
}
}
}
else{
memset(dp[], , sizeof(dp[]));
for(int j = ; j <= B; j++){
for(int k = ; k <= a[i] && k <= j; k++){
dp[][j] += dp[][j-k], dp[][j] %= MOD;
}
}
}
}
int res = ;
// printf("SHOW THE TMEP\n");
if((T - ) & ){
// 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[][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[][i];
res %= MOD;
}
}
// printf("THE RESULT : ");
printf("%d\n", res);
return ;
}
注意 剩余 后 6 位; 然后你需要 MOD 1E6; 并不是 1E7 !!!!!!!!
POJ3046ANT_COUNTING的更多相关文章
随机推荐
- 串结构练习——字符串连接(SDUT 2124)
Problem Description 给定两个字符串string1和string2,将字符串string2连接在string1的后面,并将连接后的字符串输出. 连接后字符串长度不超过110. Inp ...
- C语言学习笔记3-运算符和表达式
本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/50752023 作者:jadeshu 邮箱: jades ...
- JavaWeb_(Mybatis框架)主配置文件介绍_四
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...
- redis数据结构有哪些
1.String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 2.list 一个链表, ...
- Java ExecutorService四种线程池及自定义ThreadPoolExecutor机制
一.Java 线程池 Java通过Executors提供四种线程池,分别为:1.newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 ...
- TypeError: Data location must be "memory" for return parameter in function, but none was given.
在用truffle编译智能合约时,报错 TypeError: Data location must be "memory" for return parameter in fu ...
- Python Docstring 风格和写法学习
什么是Python Docstring 和Java类似,Python也通过注释形式的Docstring给程序.类.函数等建立文档.通过Docstring建立的文档不仅对人来说有更好的可读性,也能够让I ...
- CIEDE2000色差公式相关
色差公式发展的三个重要的阶段:1976年以前(CIELAB和CIELUV的采用).1976年到2001年(CIEDE2000色差公式的推荐).2001年以后. 国际照明委员会1998年成立了技术委员会 ...
- CentOS 7.4 发布下载,安全稳定的Linux发行版
CentOS 7.4 发布了.CentOS 是 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Lin ...
- Win7 双系统安装Centos7,并由windows引导程序引导
1. 在windows磁盘管理中,压缩卷,腾出40G,需保证一个磁盘设备最多只有3个主分区2. 网上下载centos7的dvd.iso3. 使用UltraISO刻录到U盘4. 重启系统F12使用usb ...