题库首页 › 青少年软件编程(C语言) › 题目 19572

排队名单 题目描述 火车站的售票大厅中有 n 个售票窗口(窗口编号为1,...,n),春运大潮来了,今天窗口还没有开放人们就已经陆陆续续涌进来。 现在按顺序告诉你涌进来的 m 个人的目标窗口和排队编号(为 1,...,m),请你输出售票前各窗口的排队情况。 输入 第一行两个正整数 n、m。 之后 m 个整数 ai,表示第 i 个进来的人到 ai窗口排队。 输出 n 行,每行若干整数,分别第 i 个窗口前,从前到后排队人的编号,如果该窗口没人排,请输出 nobody。 数据范围:1≤n≤10^4,1≤m≤10^7,1≤ai≤n。 输入样例1 输出样例1 输入样例2 输出样例2 3 7 2 3 1 3 1 1 1 3 5 6 7 1 2 4 7 4 1 3 3 6 1 nobody 2 3 nobody nobody 4 nobody #include using namespace std; int main() { int n, m; cin >> n >> m; vector> a(n); for (int i = 0; i > k; if (k >= 1 && k 0) cout << " "; cout << a[i][j]; } cout << "n"; } } return 0; }

正确答案:参考程序(Python):n,m=map(int,input().split());a=list(map(int,input().split()));w=[[]for _ in range(n)];for i,k in enumerate(a):w[k-1].append(i+1);for i in range(n):print(' '.join(map(str,w[i])) if w[i] else 'nobody')。核心:分窗口排队。

试卷来源:202603 青少年等级考试C/C++真题三级

本卷相关题目

在线做题 同科目题库