第十届蓝桥杯省赛A组

 

 

这思路真他妈绝了!!!

 

 1 #include <iostream>
 2 #include <cstring>
 3 #include <string>
 4 #include <algorithm>
 5 #include <queue>
 6 #include <set>
 7 
 8 using namespace std;
 9 
10 typedef long long LL;
11 typedef pair<int, int>PII;
12 
13 const int N = 1000010;
14 
15 int n, m;
16 int a[N];
17 int p[N];
18 
19 int find(int x)
20 {
21     if (p[x] != x) p[x] = find(p[x]);
22     return p[x];
23 }
24 
25 int main()
26 {
27     for (int i = 1; i <= N - 1; i++) p[i] = i;
28 
29     cin >> n;
30 
31     for (int i = 1; i <= n; i++)
32     {
33         cin >> a[i];
34         a[i] = find(a[i]);
35         p[a[i]] = find(a[i] + 1);//这个数已经被使用,所以要替换,寻找下一个
36     }
37 
38     for (int i = 1; i <= n; i++)
39         cout << a[i] << ' ';
40 
41     return 0;
42 
43 }

 

 

posted @ 2021-04-14 17:13  彦辰kkkkk  阅读(71)  评论(0)    收藏  举报