T793065 【C1147】 - 方阵排序
题目描述
小明所在的学校要举行运动会,在运动会开幕式上要进行走方阵的表演,现在小明知道一共有k个方阵,每一个方阵由n行m列的同学组成。
方阵里每个同学的身高不同,为了达到更好的表演效果,老师想对这些方阵进行合理的排序,排序的规则是:
按照每个方阵里所有同学的平均身高进行从小到大的排序,平均身高越小的越排在前面出场,平均身高高的排在后面出场。
平均身高的计算规则是:一个方阵里所有同学的身高之和 除以 方阵里的人数,得到的平均身高保留小数点后2位,注意还需要对第3位小数进行四舍五入。
比如,计算得到的平均身高为178.467,那么最终用于比较的平均身高为178.47,如果计算得到的平均身高为178.464,那么最终用于比较的平均身高为178.46。
现在给定每个方阵的每位同学的身高信息,请你编写一个程序来对所有方阵进行合理的排序,输出最终的方阵数据。
输入格式
第1行,1个正整数k,代表接下来有k个方阵
每个方阵的数据格式为:
```
n m
h[11] h[12] h[13] ... h[1m]
h[21] h[22] h[23] ... h[2m]
...
h[n1] h[n2] h[n3] ... h[nm]
```
第1行`n`和`m`代表方阵为`n`行`m`列
`h[11]`代表第1行第1列的同学的身高,其他以此类推
输出格式
按照平均身高的排序规则排序后的k个方阵信息,形如:
```
n m
h[11] h[12] h[13] ... h[1m]
h[21] h[22] h[23] ... h[2m]
...
h[n1] h[n2] h[n3] ... h[nm]
n m
h[11] h[12] h[13] ... h[1m]
h[21] h[22] h[23] ... h[2m]
...
h[n1] h[n2] h[n3] ... h[nm]
...
```
如果有方阵的平均身高相同,则按照输入的顺序排序,先输入的排在前面,后输入的排在后面
具体参考输入输出样例
说明/提示
100%的数据:$1 \le k, n, m \le 100$,方阵里每个学生的身高在120 - 200之间(单位厘米),且都为整数
**【提示】**
浮点数比较可能会存在一定的误差,建议仅使用整型变量进行比较,比如两个方阵的平均身高计算结果分别为:178.467和178.464
那么可以将这两个浮点数转换为17847和17846后进行整数的比较,这样可以避免掉因为浮点数本身的原因带来的不精确比较的问题