题目连接: Petr and Permutations

题意:给出一个1到n的序列,Petr打乱了3n次,Um_nik打乱了7n+1次,现在给出被打乱后的序列,求是谁打乱的。

题解:因为给出了一个3*n和一个7*n+1,发现这两个当一个为奇数另一个一定为偶数,所以可以联想和奇偶性质有关。但是这里面要算最短几步能把当前的序列变成1-n。这里我算错~~顺便学了一下如何将置换序列复原。

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
typedef long long LL;
const int MAX_N = 1e6+;
const int INF =1e9+;
int N,M,T,S;
int vec[MAX_N];
int main(){
while(cin>>N)
{
for(int i=;i<=N;i++) scanf("%d",&vec[i]);
int num = ;
for (int i = ; i <= N; i++)
{
while (vec[i] != i)
{
swap(vec[i], vec[vec[i]]);
num++;
}
}
if((*N - num) % == ) cout<<"Petr"<<endl;
else cout<<"Um_nik"<<endl;
}
return ;
}

最新文章

  1. leetcode 日记 4sum java
  2. Oracle日期函数和循环总结
  3. CSS魔法堂:不得不说的Containing Block
  4. centos python2.6升级到2.7 还有单独的python3.5环境
  5. 打开FileGeoDatabase中要素类
  6. js 面试题
  7. N皇后问题--回溯法
  8. inline(内联元素)和block(块级元素) 的区别
  9. 360随身wifi怎样购买?360随身wifi怎样预约?
  10. 史上最全然oophper php文件上传之文件类型相应表,ie,火狐各一份。
  11. 删除 CentOS7 更新后产生的多余的内核
  12. SLIC superpixel算法
  13. 【HDU - 4341】Gold miner(分组背包)
  14. 哈希值、HashSet、LinkedHashSet
  15. java-http通信调用与创建
  16. 2、redis原生的命令操作不同数据类型
  17. Syntax error: Bad for loop variable解决办法
  18. window XP下 php5.5+mysql+apache2+phpmyadmin安装
  19. Linux 防火墙设置(转)
  20. TCP协议三次握手连接四次握手断开和DOS攻击

热门文章

  1. Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
  2. sql server alwayson 可用性组 只读路由的设置
  3. oracle权限管理学习
  4. 【PAT】B1084 外观数列(20 分)(纯C)
  5. Linux之删除带有空格的文件(而不是目录)
  6. rows的参数
  7. Linux 用户名、主机添加背景色
  8. break和continue语句(初学者)
  9. 浅析Java中的23种设计模式
  10. 报数的golang实现