水题

来源:互联网 发布:js点击按钮弹出图片 编辑:程序博客网 时间:2024/05/01 08:09


hdu 5645 DZY Loves Balls


他有nn个球,装进一个大盒子里。每个球上面都写着一个整数。


有一天他打算从盒子中挑两个球出来。他先均匀随机地从盒子中挑出一个球,记为AA。他不把AA放回盒子,然后再从盒子中均匀随机地挑出一个球,记为BB。


如果AA上的数字严格大于BB上的数字,那么他就会感到愉悦。


现在告诉你每个球上的数字,请你求出他感到愉悦的概率是多少。

所有的情况是(n-1)*n, 然后模拟比她大的情况就好咯



#include <iostream>
#include<cstdio>
using namespace std;


int main()
{
    int a[305],t,n;
    while(cin>>t)
    {
        while(t--)
        {
            cin>>n;
            int count=0;
            for(int i=0;i<n;i++)
            cin>>a[i];
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                if(a[j]>a[i])count++;
            }
            printf("%.6lf\n",(double)count/(double)(n*(n-1)));
        }
    }
    return 0;
}

HDU5670Machine
有一个机器,它有 m (2\leq m\leq 30)m(2≤m≤30) 个彩灯和一个按钮。每按下按钮时,最右边的彩灯会发生一次变换。变换为:


1. 如果当前状态为红色,它将变成绿色;


2.如果当前状态为绿色,它将变成蓝色;


3.如果当前状态为蓝色,它将变成红色,并且它左边的彩灯(如果存在)也会发生一次变换。


初始状态下所有的灯都是红色的。
询问按下按钮 n (1\leq n< {2}^{63})n(1≤n<2?63??) 次以后各个彩灯的颜色。

这个题一开始又看错了。。。。以后一定要好好读题

第二个灯 每三次变一次 第三个灯就每九次变一次了
所以比如算完上一个 应该先除三再取余  
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;


int main()
{
    long long a[31],m,n,t;
    while(cin>>t)
    {
        while(t--)
        {cin>>m>>n;
        memset(a,0,sizeof(a));
        for(int i=0;i<m;i++)
        {
            a[i]=n%3;
            n=n/3;
        }
        for(int i=m-1;i>=0;i--)
        {
            if(a[i]==0)cout<<'R';
            else if(a[i]==1)cout<<'G';
            else cout<<'B';
        }
        cout<<endl;
        }
    }
    return 0;
}

0 0
原创粉丝点击