这题一开始想写个冒泡排序的,但稀里糊涂写成了选择排序。交上去AC了,回看代码才发现自己打错了……
想了半天也没明白为什么选择排序也能得出正确答案……
#include <cstdio>
int main(){
int ans = 0;
int N;
int num[10010];
scanf("%d", &N);
for (int i = 0; i < N;i++){
scanf("%d", &num[i]);
}
for (int i = 0; i < N-1;i++){
for (int j = i + 1; j < N;j++){
if(num[i] > num[j]){
int temp;
temp = num[j];
num[j] = num[i];
num[i] = temp;
ans++;
}
}
}
printf("%d\n", ans);
}
提交记录:
https://www.luogu.com.cn/record/45928297
希望有哪位大神可以告诉我原因:)