HDU2109 Fighting for HDU【排序】

Fighting for HDU

Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17064 Accepted Submission(s): 8562

Problem Description
在上一回,我們讓你猜測海東集團用地的形狀,你猜對了嗎?不管結果如何,都沒關係,下面我繼續向大家講解海東集團的發展情況:
在最初的兩年裏,HDU發展非常迅速,綜合各種ACM算法生成的老鼠藥效果奇好,據說該藥專對老鼠有效,如果被人誤食了,沒有任何副作用,甚至有傳聞說還有健胃的效果,不過這倒沒有得到臨牀驗證。所以,公司的銷量逐年遞增,利潤也是節節攀升,作爲股東之一的公主負責財務,最近半年,她實在辛苦,多次因爲點鈔票造成雙手抽筋而住院,現在在她面前你根本不要提到“鈔票”二字,甚至“money”也不行,否則她立馬雙手抽筋,唉,可憐的公主…
海東集團的發展令國人大爲振奮,不過也引起了鄰國同行業“東洋小苟株式會社”的嫉妒,眼看海東集團逐漸把他們原來的市場一一佔領,心中自是不甘,於是派了n個人前來挑釁,提出要來一場比試真功夫的中日擂臺賽,輸的一方要自動退出老鼠藥市場!
他們提出的比賽規則是這樣的:

  1. 每方派出n個人參賽;
  2. 出賽的順序必須是從弱到強(主要擔心中國人擅長的田忌賽馬);
  3. 每贏一場,得兩分,打平得一分,否則得0分。
    東洋小苟果然夠黑,不過他們萬萬沒有想到,HDU可是臥虎藏龍,不僅有動若脫兔的Linle,還有力大如牛的僞**,更有下沙健美先生HeYing以及因爲雙手抽筋而練成鷹爪功的月亮公主,估計小苟他們也佔不到什麼便宜。
    假設每個隊員的能力用一個整數來表示,你能告訴我最終的結果嗎?

Input
輸入包含多組測試數據,每組數據佔3行,首先一行是一個整數n(n<100),表示每方上場隊員的人數,接着的二行每行包含n個整數,分別依次表示中日兩方人員的能力值,n爲0的時候結束輸入。

Output
對於每個測試實例,請輸出比賽的結果,結果的格式如樣例所示(數字和vs之間有且僅有一個空格),其中,HDU的比分在前。
每個實例的輸出佔一行。

Sample Input
3
5 2 6
1 3 4
0

Sample Output
6 vs 0

這次的擂臺賽,HDU能贏嗎?欲知後事如何,且聽下回分解——

Author
lcy

Source
ACM程序設計_期末考試(時間已定!!)

問題鏈接HDU2109 Fighting for HDU
問題簡述:(略)
問題分析:計算比賽得分問題,排序後匹配一下就可以了。
程序說明:(略)
參考鏈接:(略)
題記:(略)

AC的C++語言程序如下:

/* HDU2109 Fighting for HDU */

#include <bits/stdc++.h>

using namespace std;

const int N = 100;
int a[N], b[N];

int main()
{
    int n;
    while(~scanf("%d", &n) && n) {
        for(int i = 0; i < n; i++) scanf("%d", &a[i]);
        for(int i = 0; i < n; i++) scanf("%d", &b[i]);

        sort(a, a + n);
        sort(b, b + n);

        int sum1 = 0, sum2 = 0;
        for(int i = 0; i < n; i++)
            if(a[i] == b[i]) sum1++, sum2++;
            else if(a[i] > b[i]) sum1 += 2;
            else sum2 += 2;

        printf("%d vs %d\n", sum1, sum2);
    }

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章