社区讨论
玄关求调&求问
P1327数列排序参与者 3已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mm1wyfbp
- 此快照首次捕获于
- 2026/02/25 18:50 2 周前
- 此快照最后确认于
- 2026/02/27 09:05 上周
思路错哪了?是不是交换的次数哪还能优化?求指导
CPP#include<bits/stdc++.h>
using namespace std;
int n,ans;
struct node {
int zhi;
int rank;
int pla;
}a[100005];
bool cmp(node x,node y) {
return x.zhi<y.zhi;
}
int main() {
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i].zhi;
a[i].pla=i;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++) a[i].rank=i;
for(int i=1;i<=n;i++) {
if(a[i].rank!=a[i].pla) ans++;
}
cout<<ans;
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...