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

颁奖典礼 题目描述 n 个学生参加颁奖典礼,学号为 1 到 n。学生根据比赛排名上台领奖。已知学号为 i 的学生是第 ai个上去领奖的。请输出学生上台领奖的学号顺序。 输入 第一行,单个整数 n。 第二行,n 个整数a1,a2,...,an。 输出 n 个整数,表示学生上台的顺序。 数据范围 对于100%的数据,1≤n≤100,000,1≤ai≤n。 输入样例1 输出样例1 3 3 1 2 2 3 1 #include using namespace std; bool compare(pair a,pair b) { //排序比较函数 return a.second > n; vector> a; //学号和领奖顺序数组 for(int i=0; i> k; a.push_back( { i+1, k } ); } sort(a.begin(), a.end(), compare); //按领奖顺序排序 for(int i=0; i

正确答案:参考程序(Python):n=int(input());a=list(map(int,input().split()));order=sorted(range(1,n+1),key=lambda i:a[i-1]);print(' '.join(map(str,order)))。样例→3 1 2。核心:按领奖顺序输出学号。

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

本卷相关题目

在线做题 同科目题库