问题 A: 密码锁(lock)

传统题
1.000s 时间限制
512MB 内存限制
6 提交
5 解决

【题目描述】
【题目描述】 小Y有一把五个拨圈的密码锁。如图所示,每个拨圈上是从0到9的数字。每个拨圈都是从0到9的循环,即9拨动一个位置后可以变成0或8, 因为校园里比较安全,小Y采用的锁车方式是:从正确密码开始,随机转动密码锁仅一次;每次都是以某个幅度仅转动一个拨圈或者同时转动两个相邻的拨圈。 当小Y选择同时转动两个相邻拨圈时,两个拨圈转动的幅度相同,即小Y可以将密码锁从0 0 1 1 5转成1 1 1 1 5,但不会转成1 2 1 1 5。 时间久了,小Y也担心这么锁车的安全性,所以小Y记下了自己锁车后密码锁的n个状态,注意这n个状态都不是正确密码。 为了检验这么锁车的安全性,小Y有多少种可能的正确密码,使得每个正确密码都能够按照他所采用的锁车方式产生锁车后密码锁的全部n个状态。 【输入格式】 从文件lock.in中读入数据。 输入的第一行包含一个正整数n,表示锁车后密码锁的状态数。 接下来n行每行包含五个整数,表示一个密码锁的状态。 【输出格式】 输出到文件lock.out中。 输出一行包含一个整数,表示密码锁的这n个状态按照给定的锁车方式能对应多少种正确密码。 【样例1输入】 1 0 0 1 1 5 【样例1输出】 81 【样例1解释】 一共有81种可能的方案。 其中转动一个拨圈的方案有45种,转动两个拨圈的方案有36种。 【样例2】 见选手目录下的lock/lock2.in与lock/lock2.ans。 【数据范围】 对于所有测试数据有:1≤n≤8。   特殊性质A:保证所有正确密码都可以通过仅转动一个拨圈得到测试数据给出的n个状态。  
【输入】

输入的第一行包含一个正整数n,表示锁车后密码锁的状态数。

接下来n行每行包含五个整数,表示一个密码锁的状态。

【输出】
输出一行包含一个整数,表示密码锁的这n个状态按照给定的锁车方式能对应多少种正确密码。
【样例输入】复制
1
0 0 1 1 5
【样例输出】 复制
81

题目类型~

CSP-S2023