結果
| 問題 |
No.8015 アンチローリングハッシュ
|
| ユーザー |
|
| 提出日時 | 2015-11-01 03:28:29 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 96 ms / 2,000 ms |
| コード長 | 362 bytes |
| コンパイル時間 | 160 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-09-13 06:44:53 |
| 合計ジャッジ時間 | 3,433 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 |
コンパイルメッセージ
Syntax OK
ソースコード
#!/usr/bin/ruby
#cf: http://www.utpc.jp/2012/slides/Uinny.pdf
N=10
def calc(s)
r=0
b=1
s.size.times{|i|
r=(r+b*s[s.size-i-1].ord)%P
b=(b*B)%P
}
r
end
B,P=$<.read.split.map(&:to_i)
alphabet=[*'a'..'z']
h={}
loop{
x=N.times.map{alphabet.sample}.join
v=calc(x)
if h.has_key?(v)
if h[v]!=x
puts h[v]
puts x
break
end
else
h[v]=x
end
}