HDU-6292 赛题分析(语法练习)

版权声明:商业转载请联系作者获得授权,非商业转载请注明出处。 https://blog.csdn.net/weixin_43939327/article/details/85007584

赛题分析

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

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表示最短的验题人代码字节数。

第三行输出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.

Source
"字节跳动杯"2018中国大学生程序设计竞赛-女生专场

Recommend
liuyiding

程序分析:

没啥好说的,找最小数就ok。

代码实现:

#include<algorithm>
#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int T,sb,me;
    scanf("%d",&T);
    int t=1;
    while(T--)
    {
        scanf("%d%d",&sb,&me);
        int *a=new int[sb];
        int *b=new int[me];
        for(int i=0;i<sb;i++) scanf("%d",&a[i]);
        if(me==0) goto l1;
        for(int i=0;i<me;i++) scanf("%d",&b[i]);
        sort(b,b+me);
        l1:;
        sort(a,a+sb);
        printf("Problem %d:\n",(1000+t));
        printf("Shortest judge solution: %d bytes.\n",a[0]);
        if(me==0) printf("Shortest team solution: N/A bytes.\n");
        else printf("Shortest team solution: %d bytes.\n",b[0]);
        t++;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43939327/article/details/85007584