编程介的小学生 2017-02-09 11:12 采纳率: 20.5%
浏览 944
已采纳

Hack it!

Problem Description
Let f(s) be a hash function of string s. If s=s0s1…sn−1,f(s)=(∑n−1i=0w(si)basei)modr.

Teacher Mai wants to find two different regular bracket sequences a,b with the same length(≤104) and the same hash value(f(a)=f(b)), where w("(")=p,w(")")=q.

Let us define a regular brackets sequence in the following way: Empty sequence is a regular sequence. If S is a regular sequence, then (S) is regular sequences. If A and B are regular sequences, then AB is a regular sequence.

Input
There are multiple test cases. All the test cases are generated randomly.

For each test case, there is one line contains four numbers p,q,r,base(1≤p,q,r,base≤1018)

Output
For each test case, print two different regular bracket sequences a,b with the same length(≤104) and the same hash value(f(a)=f(b))

Sample Input

4 7 37 10

Sample Output

((()))
()()()

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-02-14 15:51
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符