ACM训练题-第二期训练题铂金钻石组-第一题

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6292

Time limit1000 msMemory limit512000 kB
著名出题人小Q每次比赛后都会写一份《赛题分析》,包含比赛概况、每题的参考算法以及一些统计数值。

对于一道题来说,小Q会统计最短的验题人代码长度(Shortest judge solution)以及赛内参赛队伍最短的AC代码长度(Shortest team solution)。

统计验题人代码长度比较容易,因为验题人最多也不会超过2020个。但是统计选手代码长度就不容易了,因为大赛区动辄三四百支队伍。

请写一个程序,帮助小Q统计最短代码长度。

Input
第一行包含一个正整数T(1≤T≤13)T(1≤T≤13),表示赛题数量。

每道题第一行包含两个整数n,m(2≤n≤20,0≤m≤500)n,m(2≤n≤20,0≤m≤500),分别表示验题人数量以及AC了该题的队伍数量。

第二行包含nn个正整数a1,a2,…,an(50≤ai≤65536)a1,a2,…,an(50≤ai≤65536),依次表示每个验题人的代码字节数。

第三行包含mm个正整数b1,b2,…,bn(50≤bi≤65536)b1,b2,…,bn(50≤bi≤65536),依次表示每支AC队伍的代码字节数。若m=0m=0则该行为空行。

Output

对于第i(1≤i≤T)i(1≤i≤T)道题,输出三行,第一行输出Problem xx:,其中x=i+1000x=i+1000。

扫描二维码关注公众号,回复: 4506261 查看本文章

第二行输出Shortest judge solution: yy bytes.,其中yy表示最短的验题人代码字节数。

第三行输出Shortest team solution: zz bytes.,其中zz表示最短的选手代码字节数,若不存在请输出N/A。

注意:间隔都是一个空格。
Sample Input
2
3 2
3627 1460 5288
2365 2671
2 0
5510 7682

Sample Output
Problem 1001:
Shortest judge solution: 1460 bytes.
Shortest team solution: 2365 bytes.
Problem 1002:
Shortest judge solution: 5510 bytes.
Shortest team solution: N/A bytes.

实验思路:创建一个函数,能够选出代码最少的那个数据。t次循环,输入m个数据,选出最少,根据格式输出。同理n,选最少,当
n为0,输出N/A。
输出时先输出第几题,再按格式输出。

不知道为啥;ac不了

#include<iostream>
#define INF 1000000
using namespace std;
void a(int n)
{
	int i,j;
	j = INF;
   	while (n--)
	{
		cin >> i;
		j = i < j ? i : j;
	}
	if (j == INF)
	{
		cout << "N/A";
	}
	else cout << j;
}

int main()
{

	int t,m,n;
	cin >> t;
	for (int i = 0; i < t; i++)
	{
		cin >> m >> n;
		cout << "problem " << i + 1001 << ":" << endl;
		cout << "Shortest judge solution: ";
		a(m);
		cout << " bytes." << endl;
	    cout << "Shortest team solution: ";
		a(n);
		cout << " bytes." << endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/a170672091/article/details/85001662