问题 4319 --乒乓球比赛

4319: 乒乓球比赛

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

题目描述

学校准备举办一次乒乓球男女混合双打比赛,由于时间紧迫,必须尽快将队员组队(一男一女组一队),但学校又不想完全包办此事,现采取这样的方法:参赛选手排成m * n的方阵,每位选手可以选择所有前排和自己所在那行左边的异性选手为自己的队员。 如图,红色代表当前选手,其可以选择的选手一定只可能在蓝色的选手中 行和列均从0开始计,则选手(0,0)在最左上角,选手(3,3)在他(她)的右后方 每位选手都会选择可选择的实力最强大的选手作为队友,如果有多个符合条件的选手,他(她)会选择最靠前的,如果有多个符合条件的选手在最靠前的那一行,选择最靠左的。同时也会有一些选手没法选择自己的队友(比如最左前方的选手,或者某位选手左边和前边的异性选手已经被其他选手选择了),那么他(她)只能等待被其他选手选择了。换言之,一个选手的组队关系一旦确定就不可变更。 统计选手的组队关系是个很复杂的工作,本次比赛由XX同学负责组织,但他被这个问题难住了,由于你是编程高手,XX想请你帮忙写一个程序,给出m * n的选手方阵,统计出每位选手的队友是谁?

输入

数据第一行是整数T,代表有T组测试数据。每组数据的第一行是整数m和n(用空格分隔),代表方阵的规模,0

输出

在每组数据输出的第一行是“Case #n:”,n表示当前是第n组数据。对于每组数据中的每次查询,输出在第r行第c列的选手的队友是谁。假设被查询的选手在第r1行第c1列,其队友在第r2行第c2列,他们的整体实力(他们各自能力值的绝对值之和)为a,那么你的输出格式应为:[(r1,c1)(r2,c2)]=a。假如该选手没有选到队友,则输出“NONE”。

样例输入

1
5 5
25	59	85	72	-88
24	46	-12	91	-95
35	-78	-6	98	-37
79	30	51	-65	60
61	59	-71	53	-93
0 0
1 2
3 4
1 1
2 2
2 1
-1 -1

样例输出

Case #1:
NONE
[(1,2)(0,3)]=84
[(3,4)(4,4)]=153
[(1,1)(2,2)]=52
[(2,2)(1,1)]=52
[(2,1)(0,1)]=137

来源

[提交][状态]