Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
129036 | 谭子浩 | 救援顺序 | C++ | 运行超时 | 60 | 1000 MS | 1028 KB | 1518 | 2024-01-26 15:52:50 |
#include<bits/stdc++.h> using namespace std; typedef struct Node { int id;// 教室号 int num;// 人数 }Room; int main() { int NUM ; int i = 0; int j = 0; int num = 0; int flag = 0; cin >> NUM; cin.get(); Room *student = new Room[NUM] ; for(i = 0; i < NUM; i++) { student[i].id = 0; student[i].num = 0; } for(i = 0; i < NUM; i++) { cin >> num; cin.get(); for(j = 0; j < NUM;j++) { //cout << "num is " << num << " student[j].id is "<< student[j].id <<endl; if(student[j].id == num) { student[j].num ++; //cout << "num is " << num << " student[j].id is "<< student[j].id <<endl; break; } } if(j == NUM) { //cout << "add id " << num << " flag is "<< flag << endl; student[flag].id = num; student[flag].num ++; flag ++; } } //for(i = 0; i < flag; i++) //{ // cout << student[i].id << " "<<student[i].num <<endl; //} Room tmp; for(i=0;i< NUM;i++) { for(j=i+1;j < NUM;j++) { if(student[i].num < student[j].num) { tmp = student[i]; student[i] = student[j]; student[j] = tmp; } else if(student[i].num == student[j].num) { if(student[i].id > student[j].id) { tmp = student[i]; student[i] = student[j]; student[j] = tmp; } } } } for(i = 0; i < flag-1; i++) { cout << student[i].id << "->"; } cout << student[flag-1].id << endl; delete [] student; return 0; }