【HDOJ 5389】 Zero Escape
来源:互联网 发布:进销存软件排行 编辑:程序博客网 时间:2024/05/16 15:31
【HDOJ 5389】 Zero Escape
一个数的数根即为该数对9取余 dp出数列累加过程中出现的1~9的方案数 然后根据两扇门加和对9取余和数的累加和对9取余的结果之间的比较 按比较结果分配方案即可
代码如下:
#include <iostream>#include <cstdio>#include <cstring>#define mod 258280327using namespace std;int dp[100001][10];int main(){ int t,a,b,sum,i,j,n,id,ans; scanf("%d",&t); while(t--) { scanf("%d %d %d",&n,&a,&b); memset(dp,0,sizeof(dp)); sum = ans = 0; for(i = 1; i <= n; ++i) { scanf("%d",&id); sum = sum+id; for(j = 1; j <= 9; ++j) { dp[i][j] = (dp[i][j] + dp[i-1][j])%mod; if(dp[i-1][j]) dp[i][(j+id-1)%9+1] = (dp[i][(j+id-1)%9+1] + dp[i-1][j])%mod; } dp[i][(id-1)%9+1] = (dp[i][(id-1)%9+1]+1)%mod; } sum = (sum-1)%9+1; if(sum == (a+b-1)%9+1)//取余相同说明必定有一扇门可进 { ans = ans+dp[n][a]; if(sum == a) ans--; } if(sum == a) ans++;//可一同进一个门的情况 if(sum == b) ans++; printf("%d\n",ans%mod); } return 0;}
0 0
- 【HDOJ 5389】 Zero Escape
- HDOJ 5389 Zero Escape DP
- hdu 5389 Zero Escape
- HDU 5389 Zero Escape
- HDU 5389 Zero Escape
- hdu 5389 Zero Escape
- HDU 5389 Zero Escape
- HDU 5389 Zero Escape
- hdu 5389 Zero Escape(dp)
- hdu 5389 Zero Escape dp
- hdu 5389 Zero Escape (dp)
- hdu 5389 Zero Escape (dp)
- hdu 5389 Zero Escape(dp)
- HDU 5389 Zero Escape(DP + 滚动数组)
- hdu 5389 Zero Escape(dp)
- hdu 5389 Zero Escape(dp类似背包)
- 计数DP(Zero Escape,HDU 5389)
- HDU5389.Zero Escape
- hdoj 1596 find the safest road 【dijkstra】
- Linux环境下的TCP/IP通信
- pat 之德才论问题
- codeforces 570 E. Pig and Palindromes
- HEAD DETACHED push origin失败问题(转载)
- 【HDOJ 5389】 Zero Escape
- 给中国学生的一封信:从诚信谈起
- 0.0 目录
- 黑马程序员-Java基础:常用API
- poj 4548
- phonegap
- UVA 307 Sticks
- 冒泡法排序
- BNU Training 2015.08.17