結果
問題 | No.49 算数の宿題 |
ユーザー |
![]() |
提出日時 | 2020-02-06 11:10:10 |
言語 | F# (F# 4.0) |
結果 |
AC
|
実行時間 | 68 ms / 5,000 ms |
コード長 | 4,053 bytes |
コンパイル時間 | 22,081 ms |
コンパイル使用メモリ | 189,592 KB |
実行使用メモリ | 31,744 KB |
最終ジャッジ日時 | 2024-12-23 02:07:33 |
合計ジャッジ時間 | 22,435 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (620 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/
ソースコード
open Systemopen System.Collections.Generic[<AutoOpen>]module Cin =let read f = stdin.ReadLine() |> flet reada f = stdin.ReadLine().Split() |> Array.map flet readChars() = read string |> Seq.toArraylet readInts() = readChars() |> Array.map (fun x -> Convert.ToInt32(x.ToString()))[<AutoOpen>]module Cout =let writer = new IO.StreamWriter(new IO.BufferedStream(Console.OpenStandardOutput()))let print (s: string) = writer.Write slet println (s: string) = writer.WriteLine slet inline puts (s: ^a) = string s |> println// -----------------------------------------------------------------------------------------------------// / ` 、 感謝するぜ お前と出会えた// / ノノ ヽ// , ニニ彡'⌒ /`ヽ これまでの 全てに// ' ニミ ニニ彡 〈rう├--ミ// { { ニミ } j j jノx'ィイく }し{\ `丶、___/ニニニ// j_ニニミV ハレノ x<⌒ヽ V ヘ \ \ニニニニニニニ// {xミミー'ヾ(、ル( 厶tァァく⌒ヾ} )ハ::::::. \ニニニニニニ// 彡ィ'">tァ} \(`ニ彡 ノ` /ト=く ::::::i \ニニニニニニ// ( V^`こ7 _, \``ヾヽ` ノ|`ヽ ヽ l:::::| \ニニニニニ// ∧ { ' ` ノ^ヽ { ノ !:::::| ___ノ^ヽニニニニニニ// /.::::\ゝヽ. _ノヽ``ヽ, -――- 、 /:::::/ /  ̄`ヽニニニニニ// /.::::::::::::::::>'"ノルハヽ`/ -―- 、⌒V::::::/.// j___ノ、 ヽニニニニニ// /ニニ、`ヽ`ヾヘ{ {、ムイ 、_( > \/ (__ ノニニニ \ニニニニ// ,仁ニニニ\ヽヽヽ ∨ /ニニ>彡>--')__ ノ `ヽニ \ニニニ二// ニニニニニニヽ / {ニニ> ´ `¨¨´ ニ} \>''"´// ニニニニニニニニ/ ∨ / }八// ニニニニニニニ./ }ニ{ ノニヽ ノ// ニニニニニニニ/ }ニハ /⌒ヽヽヽ ___彡// ニニニニニニニ! ノニニヽ、 / ` ー=彡'ニニニニニ// ニニニニニニニ} ⌒`丶、 /⌒ヽ ノ ノ_____// / ̄ ̄ ̄`ヽ/ヽ、 _彡ヘ{ { > 、 / /  ̄ ̄ ̄// ) 、 / ヾ、 ヽ ヽ ( `{ /// // ⌒ヽ / 〃 トミ ___ >--‐=、 ヽ _ノ// { / // / \__ノ// -----------------------------------------------------------------------------------------------------// -----------------------------------------------------------------------------------------------------let s = read stringlet delimi = [| '+'; '*' |]let nums =s.Split(delimi)|> Seq.toArray|> Array.map (fun x -> Convert.ToInt64(x))let ops = Queue<char>()for c in s doif c = '+' || c = '*' then ops.Enqueue(c)let mutable ans = nums.[0]for i in 1 .. Array.length nums - 1 dolet o = ops.Dequeue()if o = '+' then ans <- ans * nums.[i] else ans <- ans + nums.[i]puts ans// -----------------------------------------------------------------------------------------------------writer.Dispose()