結果
問題 | No.701 ひとりしりとり |
ユーザー | tak |
提出日時 | 2018-06-16 05:37:07 |
言語 | F# (F# 4.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,269 bytes |
コンパイル時間 | 6,786 ms |
コンパイル使用メモリ | 205,748 KB |
実行使用メモリ | 53,120 KB |
最終ジャッジ日時 | 2024-06-30 16:05:30 |
合計ジャッジ時間 | 9,831 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 70 ms
30,592 KB |
testcase_01 | AC | 72 ms
30,976 KB |
testcase_02 | AC | 72 ms
30,976 KB |
testcase_03 | AC | 74 ms
30,592 KB |
testcase_04 | AC | 73 ms
30,464 KB |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
testcase_10 | WA | - |
testcase_11 | WA | - |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (232 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
let genSafeWord = let cnt = ref 1 (fun (preWord:string) -> let preWord = preWord.ToCharArray() let preLastCharacter = preWord |> Array.last let addWord = let w = (('a' |> int) + cnt.Value) |> char incr cnt if w = 'n' then //nで終わるとoutになる let w =(('a' |> int) + cnt.Value) |> char incr cnt w else w let newWord = new string[|preLastCharacter;addWord|] newWord) let genOutWord (preWord:string)= let preWord = preWord.ToCharArray() let preLastCharacter = preWord |> Array.last let addWord = 'n' let newWord = new string[|preLastCharacter;addWord|] newWord let startWord = "aa" let startChain = 0 let n = stdin.ReadLine() |> int (startWord,startChain) |> Seq.unfold (fun (word,chain)-> match chain with | x when x = (n-1) -> //n個目の単語はoutな単語を生成する let newWord = genOutWord word Some(word,(newWord,chain+1)) | _ -> let newWord = genSafeWord word Some(word,(newWord,chain+1))) |> Seq.skip 1 |> Seq.take n |> Seq.iter(printfn "%s")