最初に、テスト ケースの数を示す integer(t) があります。次に 2*t 行が続きます。各行には整数があります。2 つの数値それぞれの合計を出力する必要があります。
サンプル入力:
3
1
2
3
4
5
6
出力例:
3
7
11
最初に、テスト ケースの数を示す integer(t) があります。次に 2*t 行が続きます。各行には整数があります。2 つの数値それぞれの合計を出力する必要があります。
サンプル入力:
3
1
2
3
4
5
6
出力例:
3
7
11
import Control.Monad (replicateM)
main :: IO ()
main = mapM_ print . map (uncurry (+)) =<< flip replicateM readIntPair =<< readLn
readIntPair :: IO (Integer, Integer)
readIntPair = do
x <- readLn
y <- readLn
return (x, y)
replicateM
is from Control.Monad, the other functions are imported automatically from the Prelude.
You will also want to read part of a tutorial that explains do notation: it looks the same as, but is subtly different from, a list of instructions in an imperative language.