给你一个序列,问你能不能只交换2个元素使得它有序
解法:扫一遍即可,如果可以,那么逆序对<=1
#include<stdio.h> int main(){ int n,a,b,num; scanf("%d%d",&n,&a); b=a; for(int i=2;i<=n;i++){ scanf("%d",&b); if(b<a) num++; b=a; } if(num<=1) puts("YES"); else puts("NO"); }