提交翻译
查看原帖
提交翻译
1170111
MCxiaokang楼主2024/5/16 13:51

题目翻译

X 教授要让他的学生做一个学期作业。他将把班级中 NN 位学生分成若干小组,每小组有 KK 人。如果无法完全平分,有且只有 11 个小组少于 KK 人。

学生对 X 教授的分配不会有任何意见。但是由于方案太多,X 教授让你写一个程序帮他分配。有 33 种指令:

  • COUNT N K 表示你需要输出分组方案的总数。
  • GENERATE N K 表示你需要先输出分组方案的总数,再输出每一种分组方案。
  • END 表示输入结束。

所有分组方案都不分学生先后顺序。比如,ABC ACB BCA 等都视为同一种分组方案。

输入格式

11 次指令占 11 行。输入格式如上文描述。

输出格式

对于 COUNT N K ,输出占 11 行,为分组方案的总数。

对于 GENERATE N K ,输出占多行。第 11 行为分组方案的总数。接下来若干行中,输出每一种分组方案,11 种方案占 11 行。学生编号为英文字母表前 NN 个大写字母。同一组学生的编号之间没有任何分隔,不同小组之间用 11 个半角空格分隔。应先使组内学生编号为字典序,再使各组之间为字典序。

数据范围

对于 100%100 \% 的数据:

  • 对于 COUNT N K ,1≤N,K≤301\le N,K \le 30,分组方案的总数在 6464 位正整数范围内(即 C++ 的 unsigned long long 范围内)。
  • 对于 GENERATE N K ,1≤N,K≤151\le N,K \le 15,每次输出的行数不大于 1000010000,所有输出的行数之和不大于 3000030000。
  • 最多有 12001200 条询问指令。
2024/5/16 13:51
加载中...