#P14899. [OOI2017预选赛long]Бинарная игра二进制游戏

    ID: 14115 传统题 2000ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2200AC自动机博弈论BFS字符串字典树图论拓扑排序

[OOI2017预选赛long]Бинарная игра二进制游戏

题目描述

Iskander 和 Olya 喜欢设计谜题。但比起设计谜题,他们更喜欢设计一些字符串游戏。这一次,他们想出了一个有趣的游戏,规则如下:

  • 选择一组禁止出现的二进制字符串 f1,f2,,fnf_1,f_2,\ldots,f_n,这些字符串只由 01 组成。
  • 选择一个初始二进制字符串 ss,使得没有任何禁止字符串作为子串出现在 ss 中。
  • 两名玩家轮流在字符串 ss 的末尾添加一个字符 01。Olya 先手。
  • 如果某名玩家走完之后,至少有一个禁止字符串 f1,f2,,fnf_1,f_2,\ldots,f_n 作为子串出现在 ss 中,那么该玩家失败。
  • 如果双方都采取最优策略时,游戏可以无限进行下去,则判为平局。

你非常喜欢破坏别人最爱的娱乐活动,因此决定编写一个程序,根据给定的禁止字符串集合和初始字符串 ss,判断游戏结果。

输入格式

第一行包含两个整数 nnmm0n1000000 \le n \le 1000000m10000000 \le m \le 1000000),分别表示禁止字符串的数量和初始字符串 ss 的长度。

接下来 nn 行,每行包含一个禁止字符串。保证所有禁止字符串非空,且只由字符 01 组成,并且没有任何一个禁止字符串是字符串 ss 的子串。另保证所有禁止字符串的总长度不超过 10000001000000

最后一行包含长度为 mm 的初始字符串 ss,只由字符 01 组成。注意,字符串 ss 可以为空;此时输入中对应的这一行不存在,包括换行符也不存在。

输出格式

根据双方最优策略下的游戏结果,输出以下三者之一:

  • Olya:如果无论 Iskander 怎么走,Olya 都可以获胜。注意 Olya 是先手。
  • Iskander:如果无论 Olya 怎么走,Iskander 都可以获胜。
  • Friendship:如果双方都采取最优策略时,游戏会无限进行下去。

样例 1

输入

1 0
1

输出

Friendship

样例 2

输入

3 1
000
001
011
0

输出

Olya

样例 3

输入

2 3
1001
000
100

输出

Iskander

样例解释

在第一个样例中,字符串 ss 初始为空。任意玩家都可以在任意一步通过在 ss 末尾添加字符 0 来避免失败。

评分方式

测试点分为五组。除样例测试外,只有通过某一组的全部测试,以及所有之前组的全部测试,才能获得该组分数。Offline 检测表示该组测试结果只会在比赛结束后公布。

下表中,LL 表示所有禁止字符串的总长度,即

L=i=1nfi.L=\sum_{i=1}^{n}|f_i|.
组别 测试点 分数 附加限制 备注
0 1-3 0 - 样例测试
1 4-33 25 $n \le 2,\ f_i
2 34-70 $n \le 150,\
3 71-117 $n \le 500,\
4 118-∞ - Offline 检测