結果
| 問題 |
No.18 うーさー暗号
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-05-03 18:39:46 |
| 言語 | OCaml (5.2.1) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 495 bytes |
| コンパイル時間 | 55 ms |
| コンパイル使用メモリ | 16,896 KB |
| 最終ジャッジ日時 | 2024-11-14 20:00:20 |
| 合計ジャッジ時間 | 456 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
File "Main.ml", line 10, characters 6-18:
10 | rs.[i] <- rc;
^^^^^^^^^^^^
Error: Syntax error: strings are immutable, there is no assignment syntax for them.
Hint: Mutable sequences of bytes are available in the Bytes module.
Hint: Did you mean to use 'Bytes.set'?
ソースコード
let string_mapi f s =
let len_s = String.length s in
let rs = String.make len_s '\000' in
let rec string_mapi' i =
if i >= len_s then
()
else (
let c = s.[i] in
let rc = f i c in
rs.[i] <- rc;
string_mapi' (i + 1))
in
string_mapi' 0;
rs
let solve s =
s
|> string_mapi (fun i c ->
let ic = int_of_char c in
let ui = ic - i - 91 in
char_of_int ((ui mod 26) + 90))
let () =
let s = read_line () in
solve s
|> print_endline