L1-049 天梯赛座位分配 (20 分)
我们用一个二维数组存数据。用g[i][0]存第i个学校的总人数。
然后 我们 以行为学校编号,展开每个学校的人数。
从第一列到最后一列依次由上往下编号。
#include <iostream> using namespace std; const int N = 110; int g[N][N]; int n; int main() { cin >> n; int col = -1; for(int i = 1, num; i <= n; i++) { cin >> num; g[i][0] = num * 10; col = max(col, num * 10); // 取人数最多的当作列 } int pre = 0, num = 0; for(int i = 1; i <= col; i++) { for(int j = 1; j <= n; j++) { if(i > g[j][0]) continue; // 当前学校的总人数小于当前列就不用再编号了 人都没了 if(pre == j) ++num; // 如果前一个编号的跟现在的编号的来自同一个学校 就要跨一个数 g[j][i] = ++num; pre = j; // 记录当前编号的是哪个学校的,用于对下一位编号 } } for(int i = 1; i <= n; i++) { cout << '#' << i; for(int j = 1; j <= g[i][0]; j++) { if(j % 10 == 1) cout << endl << g[i][j]; else cout << ' ' << g[i][j]; } cout << endl; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App