zoukankan      html  css  js  c++  java
  • LightOJ

    题意:有n扇门,每扇门有一个值x,大于0代表x分钟后出去,小于0代表x分钟后回到原地,求出去的时间的期望

    题解:假设出去的总时间为sum1,回来的总时间为sum2,出去的门个数为out,进来的门的个数为in,出去的期望为E

    一次直接传送出去的时间期望为sum1/n,第一次不能直接传送出去但是后来传送出去的时间期望为(sum2+in*E)/n

    则E=sum1/n+(sum2+in*E)/n,化简得E=(sum1+sum2)/out,特判inf,化成最简分式

    #include<bits/stdc++.h>
    #define fi first
    #define se second
    #define mp make_pair
    #define pb push_back
    #define pi acos(-1.0)
    #define ll long long
    #define mod 1000000007
    #define C 0.5772156649
    #define ls l,m,rt<<1
    #define rs m+1,r,rt<<1|1
    #define pii pair<int,int>
    
    using namespace std;
    
    const double g=10.0,eps=1e-12;
    const int N=200000+10,maxn=200000+10,inf=0x3f3f3f3f;
    
    int main()
    {
        int t,res=0;
        scanf("%d",&t);
        while(t--)
        {
            int n;
            scanf("%d",&n);
            int sum=0,out=0;
            for(int i=1;i<=n;i++)
            {
                int x;
                scanf("%d",&x);
                if(x>0)out++;
                sum+=abs(x);
            }
            if(out==0)
            {
                printf("Case %d: inf
    ",++res);
                continue;
            }
            int x=__gcd(sum,out);
            sum/=x,out/=x;
            printf("Case %d: %d/%d
    ",++res,sum,out);
        }
        return 0;
    }
    /********************
    
    ********************/
    View Code
  • 相关阅读:
    利用string 字符串拷贝
    新手学vim配置
    进程描述符task_struct
    并查集
    堆Heap
    Bitset位图
    排序
    sql时间查询
    javascript 中的 call
    css 笔记——设置禁用中文输入法
  • 原文地址:https://www.cnblogs.com/acjiumeng/p/7989213.html
Copyright © 2011-2022 走看看