uva 10759 Dice Throwing
2014-08-01 16:17
190 查看
首先打表得到每个和所占的份数,然后约分。因为分母(6^i i表示骰子个数)的质因数为2和3,所以只要对2和3进行约分即可。
注意无符号数的输出格式。
注意无符号数的输出格式。
#include <iostream> #include<stdio.h> #include<cmath> using namespace std; //c[i][j]表示扔i个骰子能得到的和为j的份数,总份数为6^i unsigned long long c[30][160]; void table() { for(int i = 1; i <= 6; i++) c[1][i] = 1; for(int i = 2; i <=24; i++) for(int k = 1; k <= 6; k++) for(int j = 1; j < 150; j++) if(c[i - 1][j]) c[i][j+k]+=c[i-1][j]; } int main() { table(); int n,x; unsigned long long ans1,ans2; while(scanf("%d %d",&n,&x),n+x) { if(n>=x) printf("1\n"); else if(n*6 < x) printf("0\n"); else { ans1 = 0; for(int i = x;i<150;i++) { ans1+=c [i]; } ans2 = (unsigned long long)pow(6,n); while(ans1%2==0 && ans2%2 ==0){ans1/=2;ans2/=2;} while(ans1%3==0 && ans2%3 == 0){ans1/=3;ans2/=3;} printf("%llu/%llu\n",ans1,ans2); } } return 0; }
相关文章推荐
- UVA 10759 Dice Throwing
- UVa 10759 Dice Throwing (概率DP)
- UVA10759 - Dice Throwing(dp+gcd)
- uva 10759 Dice Throwing
- UVA - 10759 Dice Throwing
- uva10759 - Dice Throwing(掷骰子)
- UVa:10759 Dice Throwing
- UVA10759_Dice Throwing
- uva 10759 - Dice Throwing(dp)
- UVA 10759 Dice Throwing(dp 概率)
- UVa 10759 - Dice Throwing (概率DP+预处理)
- UVA 10759 Dice Throwing
- uva 10759 throw dice
- uva 10759(数论)
- 10759 - Dice Throwing
- uva 10252Common Permutation
- uva 11613 - Acme Corporation(最小费用流)
- Uva872-Ordering
- UVa:11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa10273 Eat or Not to Eat?