第十届蓝桥杯省赛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 }
、

浙公网安备 33010602011771号