#L3994. 「CSP-S 2023」密码锁
「CSP-S 2023」密码锁
题目描述
小 Y 有一把五个拨圈的密码锁,每个拨圈上是从 到 的数字,且每个拨圈是循环的(即 拨动一个位置可变成 或 )。

小 Y 的锁车方式是:从正确密码开始,随机转动密码锁仅一次,每次操作是以下两种之一:
- 以某个幅度仅转动一个拨圈;
- 同时转动两个相邻的拨圈,且两个拨圈转动的幅度相同(例如可从 转成 ,但不能转成 )。
小 Y 记下了锁车后的 个状态,且这些状态都不是正确密码。需要计算:有多少种可能的正确密码,使得每个正确密码都能通过上述锁车方式产生所有 个状态。
输入格式
从文件 lock.in 中读入数据。
输入的第一行包含一个正整数 ,表示锁车后密码锁的状态数。
接下来 行,每行包含五个整数,表示一个密码锁的状态。
输出格式
输出到文件 lock.out 中。
输出一行包含一个整数,表示满足条件的正确密码的种数。
样例 1
输入
输出
样例 1 解释
共有 种可能的正确密码:
- 通过转动一个拨圈得到该状态的方案有 种;
- 通过转动两个相邻拨圈得到该状态的方案有 种。
样例 2
见附件中的 lock2.in 与 lock2.ans。
数据范围与提示
对于所有测试数据,。
| 测试点编号 | 特殊性质 | |
|---|---|---|
| 无 | ||
| A | ||
| 无 |
其中,特殊性质 A 表示:所有正确密码都可以通过仅转动一个拨圈得到测试数据给出的 个状态。