水题

xiaoxiao2021-02-27  481

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; }
转载请注明原文地址: https://www.6miu.com/read-1990.html

最新回复(0)