列表

详情


NC15687. 另一个另一个简单游戏

描述

现在有n个数,每次随机取出两个数x,y,然后加入一个数为(x+y)/2,问最后剩下的那个数的期望是多少?

输入描述

有多组输入数据,第一行为一个数字T,代表有T组输入数据 (0<T≤20)。
接下来为T组数据。
每组测试数据分2行:
第一行为n,表示有n个数(1≤n≤100)
接下来的一行有n个正整数ai,表示初始的n个数(1≤ai≤10000,1≤i≤n)。

输出描述

对于每组数据,在一行上输出最后剩下数的期望值的整数部分。

示例1

输入:

2
3
1 1 1
2
2 3

输出:

1
2

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 480K, 提交时间: 2018-04-21 15:37:48

#include<iostream>
using namespace std;
int main()
{
	int t,n;
	cin>>t;
	while(t--)
	{
		cin>>n;
		int sum=0,x;
		for(int i=0;i<n;i++)
		{
			cin>>x;
			sum+=x;
		}
		cout<<sum/n<<endl;
	}
}

Python3 解法, 执行用时: 45ms, 内存消耗: 4600K, 提交时间: 2022-01-29 11:06:51

for x in range(int(input())):
    n=int(input())
    print(sum(list(map(int,input().split())))//n)

上一题