light oj 1027 A Dangerous Maze
一道数学期望题,唉唉,概率论学的不好啊~~
求走出迷宫的期望时间。
由于有的门会回到起点,所以有可能会走很多遍,设能走出去的门的个数为n1,总的个数为n,那么一次走出去的概率为n1/n,走一次的用的平均时间是sum(t)/n,期望的次数为n/n1。
时间期望是:(sum(t)/n)*(n/n1)=sum(t)/n1。
#include<stdio.h> int gcd(int a,int b){return b?gcd(b,a%b):a;} int main() { int T,cas=1;; int n,n1,sum,a; scanf("%d",&T); while(T--) { scanf("%d",&n); n1=n; sum=0; for(int i=0;i<n;i++) { scanf("%d",&a); if(a>0) sum+=a; else sum-=a,n1--; } if(!n1) printf("Case %d: inf\n",cas++); else { int tmp=gcd(sum,n1); sum/=tmp; n1/=tmp; printf("Case %d: %d/%d\n",cas++,sum,n1); } } return 0; }