题目名称 1447. [CEOI 1998]洗牌机
输入输出 shuffle.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcstdio 于2013-12-19加入
开放分组 全部用户
提交状态
分类标签
群论 数学 数论 CTS论文相关
分享题解
通过:8, 提交:13, 通过率:61.54%
Gravatardelta 100 0.003 s 0.30 MiB C++
Gravatarmikumikumi 100 0.004 s 0.32 MiB C++
GravatarFoolMike 100 0.004 s 0.32 MiB C++
Gravatarcstdio 100 0.011 s 0.28 MiB C++
Gravatargolo 100 0.016 s 3.70 MiB C++
Gravatar胡嘉兴 100 0.020 s 0.23 MiB C++
Gravatar张灵犀不和我一般见识真可怕呢(笑 100 0.023 s 0.31 MiB C++
GravatarKZNS 100 0.029 s 0.28 MiB C++
Gravatar张灵犀不和我一般见识真可怕呢(笑 90 0.025 s 0.29 MiB C++
GravatarFoolMike 50 0.076 s 0.32 MiB C++
本题关联比赛
2022级数学专题练习赛6
关于 洗牌机 的近10条评论(全部评论)
这题答案不唯一吧……是不是得写个checker啊QAQ
GravatarFoolMike
2017-09-11 22:04 3楼
感觉我一人拉低了整道题的正确率
Gravatarmikumikumi
2015-08-29 15:55 2楼
终于学会new了……可以new对象了蛤蛤蛤
算法见潘震皓,《置换群快速幂运算 研究与探讨》,国家集训队2005
Gravatarcstdio
2013-12-21 20:43 1楼

1447. [CEOI 1998]洗牌机

★★★   输入文件:shuffle.in   输出文件:shuffle.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

萌萌和迪迪有 $N$ 张牌(依次标号为$1,2,⋯⋯,N$)和一台洗牌机。假设 $N$ 是奇数。洗牌机的功能是进行如下的操作:对所有位置 $I(1 ≤ I ≤ N)$,如果位置 $I$ 上的牌是 $J$,而且位置 $J$ 上的牌是 $K$,那么通过洗牌机后位置 $I$ 上的牌将是 $K$。

萌萌首先写下一个 $1 \sim N$ 的排列 $a_i$,在位置 $a_i$ 处放上数值 $a_i+1$ 的牌,得到的顺序 $x_1, x_2, ..., x_N$ 作为初始顺序。他把这种顺序排列的牌放入洗牌机洗牌 $S$ 次,得到牌的顺序为 $p_1, p_2, ..., p_N$。现在,萌萌把牌的最后顺序和洗牌次数告诉迪迪,要迪迪猜出牌的最初顺序 $x_1, x_2, ..., x_N$。

【输入格式】

第一行为整数 $N$ 和 $S$。接下来有 $N$ 行,每行一个整数,这 $N$ 个数是牌的最终顺序 $p_1, p_2, ..., p_N$。

【输出格式】

$N$ 行,即牌的最初顺序 $x_1, x_2, ..., x_N$。

【样例输入】

7 4
6
3
1
2
4
7
5

【样例输出】

4
7
5
6
1
2
3

【提示】

对于 $50\%$ 的数据,$N \leq 10$;

对于 $100\%$ 的数据,$N \leq 1000,S \leq 1000$。

【来源】

$CEOI$ $1998$

北京大学 POJ 1721