結果
| 問題 | No.69 文字を自由に並び替え | 
| コンテスト | |
| ユーザー |  r6eve | 
| 提出日時 | 2017-08-10 10:48:45 | 
| 言語 | OCaml (5.2.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 505 bytes | 
| コンパイル時間 | 377 ms | 
| コンパイル使用メモリ | 21,552 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-09 00:07:05 | 
| 合計ジャッジ時間 | 954 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 15 | 
ソースコード
let () =
  let m = Char.code 'z' - Char.code 'a' + 1 in
  let s = Array.make m 0 in
  let t = Array.make m 0 in
  let a, b = Scanf.scanf "%s %s " (fun a b -> a, b) in
  let to_n c = Char.code c - Char.code 'a' in
  let l = String.length a in
  let doit c z =
    for i = 0 to l - 1 do
      let x = to_n c.[i] in
      z.(x) <- z.(x) + 1;
    done in
  doit a s;
  doit b t;
  let rec doit i =
    if i = m then "YES"
    else if s.(i) <> t.(i) then "NO"
    else doit (i + 1) in
  doit 0 |> print_endline
            
            
            
        