博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 986B - Petr and Permutations
阅读量:6872 次
发布时间:2019-06-26

本文共 787 字,大约阅读时间需要 2 分钟。

 

给定一个长度为n序列的排列,问改序列是由原序列进行3n还是7n+1次交换得到的

由7n+1-3n=4n+1知道两个数奇偶性不同

那么我们计算序列的奇偶性即可得

 

补一种O(n)的做法

 

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 7 int N; 8 const int maxn = 1e6 + 10; 9 int A[maxn];10 11 int main() {12 scanf("%d", &N);13 for (int i = 1; i <= N; i++) {14 scanf("%d", &A[i]);15 }16 int res = 0;17 for (int i = 1; i <= N; i++) {18 if (!A[i]) continue;19 res ^= 1;20 int x = i;21 while (x) {22 int y = A[x];23 A[x] = 0;24 x = y;25 }26 }27 if (res & 1) {28 puts("Um_nik");29 } else {30 puts("Petr");31 }32 return 0;33 }

 

转载于:https://www.cnblogs.com/xFANx/p/9285284.html

你可能感兴趣的文章
Python Python 正则 取中括号值
查看>>
uva 658(Dijkstra)
查看>>
uva 11183(最小树形图)
查看>>
sql 集合查询 数据更新操作语句
查看>>
静态内部类
查看>>
localStorage使用总结
查看>>
计算一年中的第几天
查看>>
iOS 一句话获取日期和星期几
查看>>
【javascript】Lazy Load, 延迟加载图片的 jQuery 插件
查看>>
Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )
查看>>
OBJECT_ID 技巧整理
查看>>
Date日期类,Canlendar日历类,Math类,Random随机数学类
查看>>
java中forName()的作用
查看>>
解决oracle_4031错误的方法
查看>>
C# Out,Ref 学习总结
查看>>
CentOS 7.4如何安装Python3
查看>>
instanceof
查看>>
activity的四种模式
查看>>
z-index
查看>>
git 和github
查看>>