赶火车(思维)
Problem Description小伙伴们愉快地结束了暑假wannafly训练营的生活,决定返回学校,早上小伙伴们要赶到高铁站,高铁将在y分钟后停止检票,但他们发现了一件尴尬的事情——他们不认路。
这个城市的道路是非常诡异的,在他们面前有n+m条路,其中n条路是正确的,如果走正确的路,将会在ai分钟后走到高铁站,另外m条路是不正确的,如果走不正确的路,将会在bi分钟后回到起点。
小伙伴们只能随机选择一条路走,但他们记性很差,即使走过一条不正确的路,他们也可能会再次选择这条路。
小伙伴们是非常谨慎的人,他们想要计算到达高铁站所需时间的期望EX,如果EX≤y,那么就出发,否则就退票。
Input第一行是一个整数T,表示有T组数据,接下来T组数据,每组数据包含三行:
n,m,y
a1,a2,…,an
b1,b2,…,bm
含义如题中所述
1≤T≤100,1≤n,m≤10,1≤ai,bi,y≤1000
Output对于每组数据,如果要出发,那么就输出“Go”,否则输出“Wait”,不含引号。
Sample Input
2
4 7 2
1 1 1 1
1 1 1 1 1 1 1
7 4 2
1 1 1 1 1 1 1
1 1 1 1
Sample Output
Wait
Go
设期望值为E,E=[1/(m+n)](a1+a2+…+an+b1+b2+…+bm+mE)
E=(1/n)*(a1+…+an+b1+…+bm)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t,n,m,y,i,a,b,sum;
scanf("%d",&t);
while(t--)
{
sum=0;
scanf("%d%d%d",&n,&m,&y);
for(i=0;i<n;i++)
{
scanf("%d",&a);
sum+=a;
}
for(i=0;i<m;i++)
{
scanf("%d",&b);
sum+=b;
}
double e;
e=sum*1.0/n;
if(e<=y)
cout<<"Go"<<'\n';
else
cout<<"Wait"<<'\n';
}
return 0;
}