问题标题: 酷町堂:2586 号码锁

0
0
卞福睿
卞福睿
中级守护
中级守护

2586   号码锁

经验值:1200 时间限制:1000毫秒

题目描述 Description

现有一种非常高级的数字锁。锁上有三个转盘,每个上面有数字1…N (1 ≤ N ≤ 100),因为转盘是圆的,所以1和N是相邻的。有两种能开锁的号码组合,一种是锁的主人设定的,还有一种“预设”号码组合是锁匠设定的。但是,锁有一定的容错**,所以,在每个转盘上的数字都与一个合法的号码组合中相应的数字相距两个位置以内时,锁也会打开。

比如说,如果锁主人的号码组合是(1,2,3),预设号码组合是(4,5,6),在转盘被设定为(1,4,5)(因为这和锁主人的号码组合足够接近)或(2,4,8)(因为这和预设号码组合足够接近)时锁能被打开。注意,(1,5,6)并不会打开锁,因为它与任一号码组合都不够接近。

给出锁主人的号码组合和预设号码组合,请计算能够开锁的不同的号码组合的数目。号码是有序的,所以(1,2,3)与(3,2,1)不同。

输入描述 Input Description

第一行,一个整数N
第二行,三个被空格分隔的整数,是锁主人设置的密码
第三行,三个被空格分隔的整数,是锁匠预设的密码

输出描述 Output Description

一行, 表示所有能打开锁的密码的数目

样例输入 Sample Input

50 1 2 3 5 6 7

样例输出 Sample Output

249

 

请问这题怎么做?可以给具体思路或部分代码,谢谢!


0
0
我要回答