[kuangbin概率]A Dangerous Maze

tag:通过设概率为未知数解题。
对 期望=概率*结果 更深理解
题意
n扇门,如两扇门每个分别为 +x +x,则可用 x+x 的时间出去,如为 −x−x,则可用 x+x 的时间回到原点。每次随机选一个,问出去的期望时间。
题解
来自:https://blog.csdn.net/sunshiness_s/article/details/82590179
由式子可以看出,当n负==n的时候,永远无法离开迷宫。

#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
 return b ? gcd(b,a%b) : a;
}
int main()
{
 int t,cnt=0;
 scanf("%d", &t);
 while(t--) {
  int n,sum=0,ans1=0;
  scanf("%d", &n);
  for(int i=1; i<=n; i++) {
   int t;
   scanf("%d", &t);
   if(t<0) {
    ans1++;
    t=-t;
   }
   sum+=t;
  }
  if(ans1==n) {
   printf("Case %d: inf\n",++cnt);
  }
  else {
   int s=gcd(sum,(n-ans1)); //要约分 
   printf("Case %d: %d/%d\n",++cnt,sum/s,(n-ans1)/s);
  }
 }
 return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值