问题标题: 酷町堂:4053 排序奇偶输出WA

0
0
已解决
被禁言 贾天宇
贾天宇
高级守护
高级守护
#include<bits/stdc++.h>
#define Ll long long
using namespace std;
const int N=1e5+5;
map<int,int>F;
int a[N],b[N];
int n,m,ans;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]),b[i]=a[i],F[a[i]]=i;
    sort(b+1,b+n+1);
    for(int i=1;i<=n;i++)
        if(a[i]!=b[i]){
            ans++;
            int x=F[b[i]];
            F[a[i]]=x;
            a[x]=a[i];
        }
    printf("%d",ans);
}WA

0
已采纳
项依凡
项依凡
初级光能
初级光能

你刚开始的代码我有点看不懂

我跟你说一下我的思路

先快排;然后在循环,判断数的奇偶性,然后再分别赋值个两个数组,之后在输出

0
我要回答