Codeforces 986B. Petr and Permutations(没想到这道2250分的题这么简单,早知道就先做了)
2024-08-23 13:18:49
这题真的只能靠直觉了,我没法给出详细证明。
解题思路:
1.交换3n次或者7n+1次,一定会出现一个为奇数,另一个为偶数。
2.用最朴素的方法,将n个数字归位,计算交换次数。
3.判断交换次数是否与3n的奇偶性相同,相同输出Petr;
不相同则一定与7n+1的奇偶性相同,输出Um_nik。
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll; int a[];
int idx[];
int main(){
ios::sync_with_stdio(false);
int n;
cin >> n;
for(int i = ;i <= n; ++i) cin >> a[i],idx[a[i]] = i; int cot = ;
for(int i = ;i <= n; ++i){
if(a[i] != i){
a[idx[i]] = a[i];
idx[a[i]] = idx[i];
cot++;
}
}
if((cot+*n)&){
cout << "Um_nik" << endl;
}else{
cout << "Petr" << endl;
}
return ;
}
最新文章
- WebAPI 2.x中如何扩展Identity Store
- CentOS6.x安装配置nginx
- phpcms 04
- [CODEVS1116]四色问题
- Gradle教程之任务管理
- CURL_INIT()
- UVA 10245 The Closest Pair Problem 最近点问题 分治算法
- poj1935(树形dp)
- css基础-选择器
- Promise的源码实现(完美符合Promise/A+规范)
- win 10 Hbuilder1.2.1连接Genymotion 调试Android 软件
- java基础——IO流之File类
- Android 开发 上拉加载更多功能实现
- 一个有关FWT&;FMT的东西
- SQL-记录删除篇-007
- python中并发编程基础1
- MSDos
- 递归--练习4--noi666放苹果
- exchange 2010 邮件服务器owa证书更新
- 在 Ubuntu 系统安装 Redi laravel 5.2 引入第三方类
热门文章
- Oracle Access和filter的区别
- Hua Wei 机试题目三---2014
- JavaScript实现乘法表
- Cacti部署之配置防火墙
- ZBrush设计制作小怪兽并用KeyShot渲染
- IT同行请教我如何培养读书习惯,结果就是“读了1本书,并写下&#39;读《成交》有感&#39;一文”
- invalid application of `sizeof&#39; to incomplete type `char[] &#39;
- Qt之qInstallMessageHandler(输出详细日志)
- shell如何更改当前工作路径
- 《iOS Human Interface Guidelines》——System Button