1 条题解

  • 0
    @ 2025-10-8 17:12:16
    #include<bits/stdc++.h> //新增hack数据
    using namespace std;
    int a[105];
    int b[105];
    int main(){
        int n;
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            b[i]=a[i];
        }
        sort(b+1,b+n+1);
        int cnt=0;
        for(int i=1;i<=n;i++){
            if(a[i]!=b[i]){
                for(int j=n;j>=1;j--){
                    if(a[j]==b[i]){
                        cnt++;
                        swap(a[i],a[j]);
                        break;
                    }
                }
            }
        }
        cout<<cnt;
        return 0;
    }
    
    • 1

    【思维】最少交换[USACO18JAN] Out of Place B

    信息

    ID
    6813
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    44
    已通过
    8
    上传者