結果
問題 | No.3000 enuemu暗号 |
ユーザー | tatt61880 |
提出日時 | 2019-04-09 20:39:05 |
言語 | Kuin (KuinC++ v.2021.9.17) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,177 bytes |
コンパイル時間 | 2,573 ms |
コンパイル使用メモリ | 146,288 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-16 10:08:19 |
合計ジャッジ時間 | 2,758 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge6 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,812 KB |
testcase_01 | AC | 1 ms
6,944 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | AC | 2 ms
6,940 KB |
ソースコード
func main() var in: [][]char :: ["pfnovu", "axqwuf", "mbgrihcdejkolsty"] var ou: [][]char :: ["orange", "cipher", "bqsuftlmdxynzvwj"] var decordingTable: dict<char, char> :: #dict<char, char> var used: []bool :: #[26]bool for i(0, ^in - 1) for j(0, ^in[i] - 1) if(decordingTable.exist(in[i][j])) if(decordingTable.get(in[i][j], &) <> ou[i][j]) do cui@print("Unexpected!\n") assert false end if else do decordingTable.add(in[i][j], ou[i][j]) do used[ou[i][j] $ int - 'a' $ int] :: true end if end for end for var cnt: int for i(0, 25) do cnt :+ used[i] ?(0, 1) end for if(cnt > 1) do cui@print("I can't solve this!\n") assert false end if if(cnt = 1) for i(0, 25) if(!used[i]) for j(0, 25) if(!decordingTable.exist('a'.offset(j))) do decordingTable.add('a'.offset(j), 'a'.offset(i)) end if end for end if end for end if if(dbg) for i(0, 25) do cui@print("\{'a'.offset(i)} \{decordingTable.get('a'.offset(i), &)}\n") end for end if var S: []char :: cui@input() for i(0, ^S - 1) do cui@print("\{decordingTable.get(S[i], &)}") end for do cui@print("\n") end func