用奇怪的代码过了但不知道为什么……
查看原帖
用奇怪的代码过了但不知道为什么……
265671
_Conion楼主2021/2/1 16:46

这题一开始想写个冒泡排序的,但稀里糊涂写成了选择排序。交上去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]);
    }

    //我肯定是脑子进水了TAT
    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

希望有哪位大神可以告诉我原因:)

2021/2/1 16:46
加载中...