《翻译--源自同学sammyGood》
查看原帖
《翻译--源自同学sammyGood》
138533
在线等phi人楼主2021/7/14 08:35

这里,我们讨论一个简单的排序方法: 给出 N 个数字和一个正整数 M。 你将使用如下方法对这 N 个数字进行排序:

  1. 如果一个奇数和一个偶数对 M 取余的结果一样,奇数排在偶数之前;
  2. 如果两个奇数对 M 取余的结果一样,较小的奇数排在较大的奇数之前。
  3. 如果两个偶数对 M 取余的结果一样,较大的偶数排在较小的偶数之前。 如果数字是负数,取余的方法遵循 C 语言的规则:一个负数不可以有一个大于零的模。 比如:-100 MOD 3 = -1; -100 MOD 4 = 0, 等等。 【输入格式】 输入数据包含 20 组输入: 对于每组输入,第一行,两个整数 N, M。 第 2 至 N+1 行,每行一个整数。输入数据保证在 32 为带符号整数范围内。 输入数据以一行 "00" 结束。 【输出格式】 对于每组输入,输出 N + 1 行: 第一行,输出 N 和 M。 接下来的 N 行,每行一个数, 按照上述规则排序的输入数据。 也要把最后的 "00" 输出。

~~(他还要求我发点谦虚的东西)~~蒟蒻翻译,还请大佬指正

2021/7/14 08:35
加载中...