问题1056--冰壶比赛

1056: 冰壶比赛

时间限制: 1 Sec  内存限制: 128 MB
提交: 9  解决: 4
[提交] [状态] [讨论版] [命题人:]

题目描述

在冰壶比赛中,给出一个目标点P,以及一个规定的正整数r。每一局由甲乙两队轮流投冰壶各8次后,该局比赛结束。此时,哪一方的冰壶最终离目标点P更近,该方得分,另一方不得分。得分方每颗离目标点P距离小于或等于r、位置较另一队所有壶都更接近目标点P的冰壶都可以得1分。

比赛最多进行10局。双方之间的某局比赛结束后,落后一方可以弃权。此时,比赛不再进行下去。
已知每一局结束时,双方的每个冰壶离目标点P的距离,以及正整数r,请你写一个程序判断两队之间每一局比赛的得分,以及总得分。

输入

    第一行只有一个正整数r

以下有若干行(不超过20),除了最后一行外,每一行有8个正整数(互相之间以一个空格分隔)

2行的第j个数表示第1局比赛结束时,甲方的第j个冰壶距离目标点P的距离;

3行的第j个数表示第1局比赛结束时,乙方的第j个冰壶距离目标点P的距离;

4行的第j个数表示第2局比赛结束时,甲方的第j个冰壶距离目标点P的距离;

5行的第j个数表示第2局比赛结束时,乙方的第j个冰壶距离目标点P的距离;

    … …

2k行的第j个数表示第k局比赛结束时,甲方的第j个冰壶距离目标点P的距离;

2k+1行的第j个数表示第k局比赛结束时,乙方的第j个冰壶距离目标点P的距离;
如果有一方中途弃权,则最后一行(偶数行)只有一个整数-1,表示此时发生弃权情况。

输出

输出若干行,每行有两个整数,中间以一个冒号分隔,表示每一局比赛甲乙双方的比分(甲得分在前)
最后一行有2个整数,中间以一个冒号分隔,表示甲乙双方比赛的最终得分(甲得分在前)

样例输入 Copy

8
5 20 18 19 3 15 13 3
20 2 17 12 5 18 10 11
20 3 4 1 2 11 9 2
4 15 19 9 8 14 11 10
15 2 10 1 19 14 3 18
15 17 21 19 24 32 19 26
-1

样例输出 Copy

0:1
4:0
3:0
7:1

提示

【样例说明】

    在样例1,比赛进行了3局后,有一方弃权了,比赛到此结束,最终比分为已经进行过的前3局比分之和。

    在样例1和样例2中:

1局比赛时,甲方离目标点P的最近距离为3,乙方离目标点P的最近距离为2,乙方得分。乙比甲方的3更小的值只有1(值为2),因此乙方得1分。

3局比赛时,甲方离目标点P的最近距离为1,乙方离目标点P的最近距离为15,甲方得分。甲比乙方的15小的值有5(2101143),但小于等于r=8的值只有3(213),因此甲得3分。

样例1只进行了3局,总得分为7:1,样例2所有10局比赛进行完,总得分为15:3

【数据限制】70%的数据,双方均不弃权,比赛进行10局。
100%的数据,每只冰壶距离目标点P的距离不超过100

来源/分类