NC21803. 牛牛的排序
描述
输入描述
第一行先输入一个整数n (3 ≤ ≤ 50)
第二行输入n个整数范围在1到1000以内
输出描述
输出一个整数
示例1
输入:
4 2 6 8 5
输出:
1
示例2
输入:
6 4 3 1 6 2 5
输出:
2
示例3
输入:
5 50 20 30 40 10
输出:
3
C++(clang++11) 解法, 执行用时: 15ms, 内存消耗: 504K, 提交时间: 2020-10-23 18:23:57
#include<bits/stdc++.h> #define LL long long using namespace std; LL n,k; LL a[51],c[51]; int main(){ cin>>n; for(LL i=1;i<=n;i++) { cin>>a[i]; c[i]=a[i]; } sort(a+1,a+1+n); for(LL i=1;i<=n;i++) { if(c[i]==a[i]) k++; } if(k==n) cout<<"0"; else if(c[1]==a[1]||c[n]==a[n]) cout<<"1"; else if(a[1]==c[n]&&a[n]==c[1]) cout<<"3"; else cout<<"2"; }
pypy3 解法, 执行用时: 125ms, 内存消耗: 25848K, 提交时间: 2022-01-03 09:45:52
n = int(input()) List = [int(i) for i in input().split()] List2 = List.copy() List2.sort() if List == List2: print(0) else: min = List2[0] max = List2[-1] if List[0] == min or List[-1] == max: print(1) else: if List[0] == max and List[-1] == min: print(3) else: print(2)
Python3 解法, 执行用时: 44ms, 内存消耗: 4592K, 提交时间: 2023-04-11 17:22:57
n = int(input()) value = list(map(int,input().split())) value_sort = sorted(value) if value == value_sort:print(0) elif value[0] == value_sort[0] or value[-1] == value_sort[-1]:print(1) elif value[-1] == value_sort[0] and value[0] == value_sort[-1]:print(3) else:print(2)