2016秋季练习
来源:互联网 发布:mysql增加表空间大小 编辑:程序博客网 时间:2024/04/29 18:24
来源:lightOJ1064
很水的DP
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int n,x;const int MAXN = 200;const int N = 50; LL dp[N][MAXN];LL a[N];inline LL gcd(LL a,LL b) { if(!b) return a; else return gcd(b,a%b);}inline void ini(){ a[0] = 1; a[1] = 6; for(int i=2;i<N;i++) a[i] = a[i-1]*6; return ;}inline void DP(){ memset(dp,0,sizeof dp); for(int i=1;i<=6;i++) dp[1][i] = 1; for(int i=1;i<=26;i++) { for(int j=1;j<=i*6;j++){ if(!dp[i][j]) continue; for(int k=1;k<=6;k++){ dp[i+1][j+k] += dp[i][j]; } } }}int main(){ int T,nc = 1; ini(); DP(); scanf("%d",&T); while(T--){ scanf("%d%d",&n,&x); LL sum = 0,ans = 0; int maxn = n*6; printf("Case %d: ",nc++); if(x>maxn) { puts("0"); continue; } for(int i=x;i<=maxn;i++) { ans += dp[n][i]; } sum = a[n]; if(sum == ans ){ puts("1"); continue; } LL tmp = gcd(ans,sum); printf("%lld/%lld\n",ans/tmp,sum/tmp); } return 0;}
1 0
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- Android音频系统之一音频基础
- js 与 native 交互时有时候不能触发shouldStartLoadWithRequest方法
- 线程的休眠
- Android中通过短信获取手机的消费情况的Demo
- while循环内输入和循环外输入有何区别?
- 2016秋季练习
- Spiral Matrix
- Android开发-Fragment JsonObject JsonArray 综合运用-AndroidStudio
- JavaScript精粹
- iPhone7黔驴技穷,Moto Z另辟蹊径,谁才能引领行业创新?
- 项目启动就执行某个程序的方法
- xgboost原理及应用
- Android音频系统之二音频框架
- 人件读书笔记(23)团队自毁