競 プロ向 け I/O と演算
この章は、競技プログラミングで最初に使う入出力パターンを、std/streamio の scanner / open だけで短く書く練習です。
2 整数を読んで和を出力する
TESTstdionormalize_newlines
#entry main
#indent 4
#target std
#import "core/math" as *
#import "core/result" as *
#import "std/streamio" as *
#import "std/iotarget" as *
fn main <()*> ()> ():
let sc <StreamScanner> unwrap_ok open ReadStream::Stdio;
let ans <i32> add read sc read sc;
close sc;
unwrap_ok open WriteStream::Stdio
|> writeln ans
|> flush
|> closei64 を読んで加算する
10^12 以上を扱うときは i64 を使います。
TESTstdionormalize_newlines
#entry main
#indent 4
#target std
#import "core/math" as *
#import "core/result" as *
#import "std/streamio" as *
#import "std/iotarget" as *
fn main <()*> ()> ():
let sc <StreamScanner> unwrap_ok open ReadStream::Stdio;
let ans <i64> add read sc read sc;
close sc;
unwrap_ok open WriteStream::Stdio
|> writeln ans
|> flush
|> close3 値を 1 行で空白区切り出力する
write w " " を使うと、出力フォーマットを崩さずに書けます。
TESTstdionormalize_newlines
#entry main
#indent 4
#target std
#import "core/result" as *
#import "std/streamio" as *
#import "std/iotarget" as *
fn main <()*> ()> ():
let sc <StreamScanner> unwrap_ok open ReadStream::Stdio;
let a <i32> read sc;
let b <i32> read sc;
let c <i32> read sc;
close sc;
unwrap_ok open WriteStream::Stdio
|> write a
|> write " "
|> write b
|> write " "
|> writeln c
|> flush
|> close