>Description
你可能听说过,没有两片雪花是相同的。你要写一个程序,判断这是不是真的。
你的程序会读到一些有关于这些雪花的信息,找到一对完全相同的雪花。每片雪花有六个角。对于每个雪花,你的程序会获得每个角的长度。我们认为两片雪花相同,当且仅当它们各自从某一个角开始,逆时针或顺时针记录长度,能得到两个相同的六元组。
>Input
第一行只有一个数字n,代表雪花的数量。
接下来会有n行,每一行描述了一片雪花。每片雪花会按逆时针或顺时针给出六个角的长度a1,a2…a6。我们认为两片雪花相同,当且仅当它们各自从某一个角开始,逆时针或顺时针记录长度,能得到两个相同的六元组。例如,同一片雪花可以被描述为1 2 3 4 5 6 或 4 3 2 1 6 5。
>Output
如果没有两片雪花是相同的,请输出 :
No two snowflakes are alike.
否则,请输出:
Twin snowflakes found.
>Sample Input
2
1 2 3 4 5 6
4 3 2 1 6 5
>Sample Output
Twin snowflakes found.
>解题思路
太久没有写哈希了所以找一道题复习一下==
题目大意已经说的很清楚了
我们可以知道,对于同一片雪花的六个角的和还有乘积是相同的
所以我们定义第 i i i片雪花的哈希值 H ( i ) = ( Σ a [ i ] [ 1 6 ] + ∏ a [ i ] [ 1 6 ] ) m o d p H(i)=(Σa[i][1~6]+∏a[i][1~6])modp H(i)=(Σa[i][1 6]+∏a[i]