解题思路:
#include <iostream> #include <queue> using namespace std; int n; int all[100010]; int vis[100010]; int main() { cin >> n; for(int i = 1;i <= n;i ++) { queue <int > q; int x; cin >> x; while(vis[x]) { q.push(x); x = vis[x] + 1; } while(!q.empty()) { int b; b = q.front(); q.pop(); vis[b] = x; } vis[x] = x; all[i] = x; } for(int i = 1;i <= n;i ++) { cout << all[i] << " "; } return 0; }
0.0分
7 人评分
P1002 (C语言代码)浏览:970 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:624 |
C语言训练-大、小写问题 (C语言代码)浏览:724 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:500 |
1908题解浏览:633 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1908 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:564 |
企业奖金发放 (C语言代码)浏览:2313 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:527 |
【计算直线的交点数】 (C语言代码)浏览:916 |