10 条题解

  • 5
    @ 2024-6-29 18:08:57

    签到题。

    aa 中不同元素的个数为 ss,若 ss 为奇数,易知不存在解。

    考虑 ss 为偶数,此时定存在一种顺序使 aa 的前 ss 个元素互不相同,此时第 ss 个元素之后的每一个元素都已出现过,不会对元素种类产生影响,符合题意。

    AC 代码:

    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    #define len 214514
    int n, a[214514], s;
    map <int, bool> v;
    signed main() {
    	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    	cin >> n;
    	for (int i = 1; i <= n; i++) { 
    		cin >> a[i]; 
    		if (!v[a[i]]) v[a[i]] = 1, s++;
    	}
    	if (s % 2) { cout << -1; return 0; }
    	v.clear();
    	for (int i = 1; i <= n; i++) if (!v[a[i]]) cout << a[i] << ' ', v[a[i]] = 1, a[i] = -1;
    	for (int i = 1; i <= n; i++) if (a[i] != -1) cout << a[i] << ' ';
    	return 0;
    }
    

    信息

    ID
    2
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    442
    已通过
    192
    上传者