#P13673. [GCPC 2023] Highway Combinatorics

    ID: 13665 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2023数论Special JudgeFibonacci 数列随机化ICPC折半搜索 meet in the middle

[GCPC 2023] Highway Combinatorics

Description

你是 Berland 的新任交通部长。
最近,你允许在一段 200200 米长的双车道道路上免费停车。
自那以后,由于一些“天才”司机把车横跨两条车道停放,这段路经常被停满的车辆堵塞……

:::align{center} 由停车巴士引起的拥堵,Nevermind2 :::

不过,这并不是你的担忧。
你更感兴趣的是在这段路空着的时候,自己也能停一些车。
更具体地说,你希望以某种方式停放你的车辆,使得剩余空位可以用车辆填满的方法数对 109+710^9+7 取模后与你的幸运数字 nn 相等。

:::align{center} 图 H.1:样例输出 1 的可视化。 :::

每辆车的尺寸为 1×21\times2 米,每条车道宽 11 米、长 200200 米。你拥有超过 200200 辆车,可以随意停在这段路上。

Input Format

输入包含一行,一个整数 nn0n<109+70\leq n<10^9+7),表示希望剩余空位的填充方案数对 109+710^9+7 取模后等于 nn

可以保证对于每个可能的 nn,都至少存在一种合法解。

Output Format

输出两行,表示两条车道的状态。
用“#\texttt\#”表示已被占用的位置,用“.\texttt.”表示空位。注意,两行长度应相同,且长度不少于 11 米、不超过 200200 米。已被占用的位置必须对应于某辆已停放的车。如果你的方案使用的道路长度小于 200200 米,则剩余部分视为已被车辆阻塞。

10
##..#.......
....#.##....
27
...##........
........##...

Hint

由 ChatGPT 4.1 翻译