2 条题解
-
1Takagi-san (njnu19200437) LV 10 MOD @ 2021-05-06 12:26:35
C Almost Unnatural Permutation
这题是CF上一题改编的,原题是没有字典序的说法的,但是众所周知vijos不支持Special Judge,所以需要让答案唯一。(原题的解法: (2,3,4,...,n,1)是一种可行的方法)
关于本题,我们举几个例子即可。
若n=6,第一位不能取1,所以取2使得字典序最小。第二位取1。第三位取4,以此类推。答案是(2,1,4,3,6,5)
奇数时策略稍有变化,如果仍采用以上策略,n=5:(2,1,4,3,5)导致最后一位不满足题意,这时我们交换最后两个数字即可。
Code:#include<bits/stdc++.h> using namespace std; int a[1000005]; int main() { int n;cin>>n; for(int i=1;i<=n;i+=2)a[i]=i+1,a[i+1]=i; if(n%2){a[n]=n-2;a[n-1]=n;} for(int i=1;i<=n;i++)cout<<a[i]<<" "; return 0; }
-
02022-07-29 15:20:15@
#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
int n;cin>>n;
for(int i=1;i<=n;i+=2)a[i]=i+1,a[i+1]=i;
if(n%2){a[n]=n-2;a[n-1]=n;}
for(int i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}
- 1
信息
- ID
- 1247
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 8
- 已通过
- 5
- 通过率
- 62%
- 被复制
- 3
- 上传者