[POJ1721]Cards
Description
剀剀和凡凡有N张牌(依次标号为1,2,……,N)和一台洗牌机。假设N是奇数。洗牌机的功能是进行如下的操作:对所有位置I(1≤I≤N),如果位置I上的牌是J,而且位置J上的牌是K,那么通过洗牌机后位置I上的牌将是K。
剀剀首先写下一个1~N的排列ai,在位置ai处放上数值ai+1的牌,得到的顺序x1, x2, ..., xN作为初始顺序。他把这种顺序排列的牌放入洗牌机洗牌S次,得到牌的顺序为p1, p2, ...,pN。现在,剀剀把牌的最后顺序和洗牌次数告诉凡凡,要凡凡猜出牌的最初顺序x1, x2, ..., xN。
Input
第一行为整数N和S。1≤N≤1000,1≤S≤1000。第二行为牌的最终顺序p1, p2, ..., pN。
Output
为一行,即牌的最初顺序x1, x2, ..., xN。
Sample Input
5 2
4
1
5
3
2
Sample Output
2
5
4
1
3
强行暴力,经过res个操作后会回到原顺序,最后做\(res-s\%res\)个操作即可
/*program from Wolfycz*/
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define inf 0x7f7f7f7f
using namespace std;
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
inline int read(){
	int x=0,f=1;char ch=getchar();
	for (;ch<'0'||ch>'9';ch=getchar())	if (ch=='-')	f=-1;
	for (;ch>='0'&&ch<='9';ch=getchar())  x=(x<<1)+(x<<3)+ch-'0';
	return x*f;
}
inline void print(int x){
	if (x>=10)	 print(x/10);
	putchar(x%10+'0');
}
const int N=1e3;
int x[N+10],y[N+10],tmp[N+10];
int n,s,res;
void Next(){
	memcpy(tmp,x,sizeof(x));
	for (int i=1;i<=n;i++)   x[i]=tmp[x[i]];
}
bool check(){
	for (int i=1;i<=n;i++)   if (x[i]!=y[i]) return 0;
	return 1;
}
int main(){
	n=read(),s=read();
	for (int i=1;i<=n;i++)   x[i]=y[i]=read();
	for (res=1;;res++){
		Next();
		if (check())	break;
	}
	res-=s%res;
	for (;res;res--)	Next();
	for (int i=1;i<=n;i++)   printf("%d\n",x[i]);
	return 0;
}
[POJ1721]Cards的更多相关文章
- BZOJ 1004 【HNOI2008】 Cards
		题目链接:Cards 听说这道题是染色问题的入门题,于是就去学了一下\(Bunside\)引理和\(P\acute{o}lya\)定理(其实还是没有懂),回来写这道题. 由于题目中保证"任意 ... 
- Codeforces Round #384 (Div. 2) 734E Vladik and cards
		E. Vladik and cards time limit per test 2 seconds memory limit per test 256 megabytes input standard ... 
- bzoj 1004 Cards
		1004: [HNOI2008]Cards Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有 多少种染色方案,Sun ... 
- codeforces 744C Hongcow Buys a Deck of Cards
		C. Hongcow Buys a Deck of Cards time limit per test 2 seconds memory limit per test 256 megabytes in ... 
- CF 204B  Little Elephant and Cards
		题目链接: 传送门 Little Elephant and Cards time limit per test:2 second memory limit per test:256 megab ... 
- HDU 1535 Invitation Cards(最短路 spfa)
		题目链接: 传送门 Invitation Cards Time Limit: 5000MS Memory Limit: 32768 K Description In the age of te ... 
- Codeforces Round #227 (Div. 2) E. George and Cards set内二分+树状数组
		E. George and Cards George is a cat, so he loves playing very much. Vitaly put n cards in a row in ... 
- 队列  Soldier and Cards
		Soldier and Cards 题目: Description Two bored soldiers are playing card war. Their card deck consists ... 
- [CareerCup] 18.2 Shuffle Cards 洗牌
		18.2 Write a method to shuffle a deck of cards. It must be a perfect shuffle—in other words, each of ... 
随机推荐
- java 定时备份数据库
			原文:http://www.open-open.com/code/view/1447490829678 /** 操作数据库 */ public class BackupDb { public Stri ... 
- 基于commons-net实现ftp创建文件夹、上传、下载功能
			原文:http://www.open-open.com/code/view/1420774470187 package com.demo.ftp; import java.io.FileInputSt ... 
- 学习Android从青铜到王者之第一天
			1.Android四层架构 一.Linux Kernel 二.Libraries和Android Runtime 三.Application Framework 四.Applications 一.Li ... 
- L0、L1与L2范数
			监督机器学习问题无非就是“minimize your error while regularizing your parameters”,也就是在正则化参数的同时最小化误差.最小化误差是为了让我们的模 ... 
- Linux系统启动流程分析
			作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ... 
- Zookeeper中的FastLeaderElection选举算法简述
			Zookeeper是一个开源的分布式应用协调项目, 当中为了保证各节点的协同工作,Zookeeper在工作时须要有一个Leader. 而Leader是怎样被选举出来的?Zookeep中使用的缺省算法称 ... 
- D广搜
			<span style="color:#330099;">/* D - 广搜 基础 Time Limit:1000MS Memory Limit:30000KB 64b ... 
- Hive中行列转换
			1.演示多列转为单行 数据文件及内容: student.txt xiaoming|english|92.0 xiaoming|chinese|98.0 xiaoming|math|89.5 huahu ... 
- 百万级PHP网站Poppen.de的架构分享心得
			在了解过世界最大的PHP站点,Facebook的后台技术后, 今天我们来了解一个百万级PHP站点的网站架构:Poppen.de.Poppen.de是德国的一个社交网站,相对Facebook.Flick ... 
- Navicat for MySQL出现1030-Got error 28 from storage engine错误
			Navicat for MySQL出现1030-Got error 28 from storage engine错误 刚刚还能用这会儿就用不了了,估计是磁盘空间不足引起的! 在根目录/下执行命令:d ... 
