题解 | 小红的不动点分配

小红的不动点分配

https://www.nowcoder.com/practice/9af88720190248d5a8dc3cebdf050b21

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
using vi = vector<int>;
using msi = multiset<int>;

void solve() {
    int n;cin >> n;
    vi a(2 * n);
    for (int i = 0;i < 2 * n;i++) {
        cin >> a[i];
    }
    int ans = 0;
    msi st;
    for (int i = 0;i < n;i++) {
        st.insert(i + 1);
        st.insert(i + 1);
    }
    for (int i : a) {
        if (st.count(i)) {
            st.erase(st.find(i));
            ans++;
        }
    }
    cout << ans << endl;
}

/*

*/

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    int t = 1;
    //cin >> t;
    for (int i = 1; i <= t; i++) {
        //cout << "----Test " << i << "----" << endl;
        solve();
    }
    return 0;
}

114514跟123123任意重排配对,模拟即可

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务