Jzoj4776 排序

给你一个序列,问你能不能只交换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");
}

posted @ 2017-10-24 20:30  扩展的灰(Extended_Ash)  阅读(85)  评论(0编辑  收藏  举报