1. 程式人生 > >Hdoj 2109.Fighting for HDU 題解

Hdoj 2109.Fighting for HDU 題解

i++ pro ref 順序 author fight 以及 b+ 效果

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程序設計_期末考試(時間已定!!)


思路

規則2規定必須由弱到強.....那就直接排序比較就好了。

太水了吧...

代碼

#include<bits/stdc++.h>
using namespace std;
int a[101],b[101];
int main()
{
    int n;
    while(cin>>n)
    {
        if(0==n) break;
        else
        {
            for(int i=1;i<=n;i++) cin >> a[i];
            for(int i=1;i<=n;i++) cin >> b[i];
            sort(a+1,a+n+1);
            sort(b+1,b+n+1);
            int sum1 = 0,sum2 = 0;
            for(int i=1;i<=n;i++)
            {
                if(a[i]==b[i]) {sum1++;sum2++;}
                if(a[i]>b[i]) sum1 += 2;
                if(a[i]<b[i]) sum2 += 2;
            }
            cout << sum1 << " vs " << sum2 << endl;
        }
    }
    return 0;
}

Hdoj 2109.Fighting for HDU 題解