第二周HDU-6292题解

问题链接:HDU-6292

问题简述

第一行输入正整数T表示题数,每道题第一行输入整数n,m分别表示验题人数量以及AC了该题的队伍数量,第二行输入n个正整数依次表示每个验题人的代码字节数,第三行输入m个正整数依次表示每支AC队伍的代码字节数,若m=0m=0则该行为空行,最后按照题目格式分别输出最短的验题人代码字节数和最短的选手代码字节数。

思路

上周的周赛题,当时用冒泡排序来找最小值,可能是有错误,都是WA,后来换了个方法找最小值就可以通过了。建立两个数组分别存放验题人代码字节数和选手代码字节数,然后分别找出最小值,最后按照题目输出。

AC通过的C++语言程序如下:

#include
using namespace std;
int main()
{
	int s;
	cin >> s;
	for (int i = 1; i <= s; i++)
	{
		int n, m; int n1 = 65536; int m1 = 65536;; int pn[20]; int pm[500];
		cin >> n >> m;
		for (int a = 0; a < n; a++)
			cin >> pn[a];
		for (int j = 0; j < n; j++)
			if (pn[j] < n1) n1 = pn[j];
		for (int a = 0; a < m; a++)
			cin >> pm[a];
		for (int j = 0; j < m; j++)
			if (pm[j] < m1) m1 = pm[j];
		cout << "Problem " << 1000 + i << ":" << endl;
		cout << "Shortest judge solution: " << n1 << " bytes." << endl;
		if (m != 0)
			cout << "Shortest team solution: " << m1 << " bytes." << endl;
		else cout << "Shortest team solution: N/A bytes." << endl;
	}
	return 0;
}

你可能感兴趣的:(第二周HDU-6292题解)