HDU 6292赛题分析 【水题】c++

赛题分析

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)
Total Submission(s): 1109 Accepted Submission(s): 561

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

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

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

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

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

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

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

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

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

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

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

第三行输出Shortest team solution: z bytes.,其中z表示最短的选手代码字节数,若不存在请输出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.

问题描述

找到最短长度的代码,输出其字节数。

问题分析

因为只要找到那个最小的,所以用个变量copy记录第一个,然后边输入新的字节数边与copy比较,让copy每次比较都记录小的,最后得到的copy就是最小的数据。接着就是按题目格式输出即可。

c++程序如下

#include<iostream>
using namespace std;
int main()
{
	int t,n,m,num,a,copy1,copy2,i;
	cin>>t;
	num=t;//记录题数
	while(t--)
	{
		cin>>n>>m;
		cin>>copy1;
		for(i=2;i<=n;i++)//copy1记录验题人最小的的代码长度 
		{
			cin>>a;
			if(copy1>a)
			copy1=a;
		}
		if(m!=0)
		{
			cin>>copy2; 
			for(i=2;i<=m;i++)//copy2记录选手最小的代码长度 
			{
				cin>>a;
				if(copy2>a)
				copy2=a;
			}
		}
		cout<<"Problem "<<num-t+1000<<":\n";
		cout<<"Shortest judge solution: "<<copy1<<" bytes.\n";
		if(m!=0)
		cout<<"Shortest team solution: "<<copy2<<" bytes.\n";
		else cout<<"Shortest team solution: N/A bytes.\n";
	}
	return 0;
}

ACC

猜你喜欢

转载自blog.csdn.net/DouglasConnor/article/details/84932735