#P10930. 号码锁(加强版)

号码锁(加强版)

题目描述

农夫约翰的奶牛不停地从他的农场中逃出来,导致了很多损害。为了防止它们再逃出来,他买了一只很大的号码锁以防止奶牛们打开牧场的门。

锁上有三个转盘,每个上面有数字 1..N1..N1N10001 \le N \le 1000),因为转盘是圆的,所以 11NN 是相邻的。农夫约翰设定了一个开锁组合,锁匠也有一个“预设”组合。锁有一定的容错性:如果在每个转盘上的数字都与任一合法开锁组合(农夫约翰的或锁匠的)相应数字相距不超过两个位置(按循环距离计算),则锁会打开。

例如,若农夫的组合是 (1,2,3)(1,2,3),锁匠的组合是 (4,5,6)(4,5,6),那么设置为 (1,4,5)(1,4,5) 会打开(与农夫的组合够接近),设置为 (2,4,8)(2,4,8) 也会打开(与锁匠的组合够接近),而 (1,5,6)(1,5,6) 则不会打开(与任一组合都不够接近)。

给出农夫约翰的组合和锁匠的组合,计算所有能够打开该锁的不同号码组合的数量。组合是有序的,(1,2,3)(1,2,3)(3,2,1)(3,2,1) 视为不同。

输入格式

  • 第一行:整数 NN
  • 第二行:三个以空格分隔的整数,表示农夫约翰的号码组合。
  • 第三行:三个以空格分隔的整数,表示锁匠(预设)的号码组合(可能与农夫约翰的组合相同)。

输出格式

  • 第一行:所有不同的能够开锁的号码组合的总数。

输入样例 #1

50
1 2 3
5 6 7

输出样例 #1

249

题目说明

提示:答案最多只有 250 个