美文网首页
ACM训练1.5

ACM训练1.5

作者: 九九询 | 来源:发表于2018-12-11 22:39 被阅读0次

    G - Problem G----hdu6292

    著名出题人小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。

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

    问题简述

    即比较输入的数的大小。并根据要求输出结果。

    程序分析

    可定义数组来存储输入的数据,通过构造一个比较大小的函数比较其中元素大小并输出最小值即可。

    AC程序如下:

    //HDU-6292
    #include<iostream>
    using namespace std;
    int find(int*a, const int n)
    {
        for (int i = 0; i < n - 1; i++)
        {
            for (int j=0; j < n - 1; j++)
            {
                if (a[j] > a[j + 1])
                {
                    int t;
                    t = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t;
                }
            }
        }return a[0];
    }
    int main()
    {
        int T, n, m;
        int a[20], b[500];
        cin >> T;
        for(int k=0;k<T;k++)
        {
            cin >> n >> m;
            for (int i = 0; i < n; i++)
                cin >> a[i];
            for (int j = 0; j < m; j++)
                cin >> b[j];
            cout << "Problem " << k + 1001 <<':'<< endl;
            
            cout << "Shortest judge solution: " << find(a, n) << ' ' << "bytes." << endl;
            if (m!=0)
            {
                
                cout << "Shortest team solution: " <<find(b, m) << ' ' << "bytes." << endl;
            }
            else  cout << "Shortest team solution: N/A bytes." << endl;
        }return 0;
    }
    

    相关文章

      网友评论

          本文标题:ACM训练1.5

          本文链接:https://www.haomeiwen.com/subject/ywsyhqtx.html