結果

問題 No.805 UMG
ユーザー nao22b
提出日時 2019-04-14 15:36:31
言語 Elixir
(1.18.1)
結果
TLE  
実行時間 -
コード長 834 bytes
コンパイル時間 4,789 ms
コンパイル使用メモリ 61,028 KB
実行使用メモリ 70,564 KB
最終ジャッジ日時 2024-11-18 13:46:19
合計ジャッジ時間 69,034 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12 TLE * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

defmodule Main do
    def is_g(s, diff) do
        cond do
            diff >= String.length(s) -> 0
            String.at(s, diff) == "G" -> 1
            true -> 0
        end
    end

    def find_m("", _), do: 0
    def find_m(s, diff) do
        remain = String.slice(s, 1..-1)
        case String.at(s, 0) do
            "M" -> is_g(remain, diff) + find_m(remain, diff + 1)
            _ -> find_m(remain, diff + 1)
        end
    end


    # U
    def find_u(""), do: 0
    def find_u(s) do
        remain = String.slice(s, 1..-1)
        case String.at(s, 0) do
            "U" -> find_m(remain, 0) + find_u(remain)
            _ -> find_u(remain)
        end
    end

    def solve(s) do
        find_u(s)
    end


    def main do
        _ = IO.gets("")
        IO.gets("") |> String.trim |> solve |> IO.puts
    end
end

0