3 条题解
-
1
我又来了
啦啦啦啦啦其实这道题非常的难啊 like this#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N],b[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } while(1){ bool ans=1; int flag=0; int t[3]; for(int i=1;i<n;i++){ if(a[i]<a[i+1]){ continue; }else{ flag++; t[flag]=a[i]; } if(flag==2){ if(a[1]>a[2]&&__gcd(a[1],a[2])==1){ swap(a[1],a[2]); flag=0; }else{ cout<<"No"; return 0; } } } if(ans){ break; } } cout<<"Yes"; return 0; }那你这么写能对就怪了经过仔细的观察你会发现 1和所有数互质!(doge 于是乎只要某个序列中有一,那么就可以完成排序 但是 由于给的是排列 所以必定有一; 即必定可以
信息
- ID
- 55
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 21
- 已通过
- 11
- 上传者