Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 100 点
問題文
3 つの整数 A, B, C が与えられる.A, B, C はそれぞれ 1 または 2 である.1 と 2 のうち,どちらが多くあるか.
制約
- A, B, C はそれぞれ 1 または 2 である.
入力
入力は以下の形式で標準入力から与えられる.
A B C
出力
1 と 2 のうち,個数が多い方を出力せよ.
入力例 1
1 2 1
出力例 1
1
1 が 2 個で 2 が 1 個なので,個数の多い 1 を出力する.
入力例 2
2 2 2
出力例 2
2
すべて 2 なので,2 を出力する.
Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 100 点
問題文
長さ N の英小文字からなる文字列 S が与えられる.S のうち母音字の個数,つまり a
,i
,u
,e
,o
の個数の総和を求めよ.
制約
- 1 \leqq N \leqq 50.
- S は長さ N の文字列である.
- S の各文字は英小文字である.
入力
入力は以下の形式で標準入力から与えられる.
N S
出力
S のうち母音字の個数,つまり a
,i
,u
,e
,o
の個数の総和を出力せよ.
入力例 1
8 joiyosen
出力例 1
4
母音字は _oi_o_e_
の 4 個である.
入力例 2
6 bitaro
出力例 2
3
母音字は _i_a_o
の 3 個である.
Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 100 点
問題文
長さ N の正整数列 A=(A_1, A_2, \ldots, A_N) と,長さ M の正整数列 B=(B_1, B_2, \ldots, B_M) が与えられる. これらの数列は,共に広義単調増加数列である.つまり,A_1 \leqq A_2 \leqq \cdots \leqq A_N, B_1 \leqq B_2 \leqq \cdots \leqq B_M を満たす.
以下のアルゴリズムを用いて,これらの数列から,長さ N+M の正整数列 C=(C_1, C_2, \ldots, C_{N+M}) を生成する.
- はじめ C は空とする.
- A と B がどちらも空の場合,終了する.
- A と B のどちらかが空の場合,そうでない数列を t とおく.どちらも空でない場合,先頭の要素が小さい数列を t とおく.ただし,A と B の先頭の要素が同じ値のときは A を t とおく.
- t の先頭の要素を C の末尾に追加する.
- t の先頭の要素を削除する.
- 2. に戻る.
広義単調増加な正整数列 A, B が与えられたとき,このアルゴリズムにより生成される正整数列 C を出力するプログラムを作成せよ.
制約
- 1 \leqq N \leqq 500.
- 1 \leqq M \leqq 500.
- 1 \leqq A_1 \leqq A_2 \leqq \cdots \leqq A_N \leqq 2000.
- 1 \leqq B_1 \leqq B_2 \leqq \cdots \leqq B_M \leqq 2000.
入力
入力は以下の形式で標準入力から与えられる.
N M A_1 A_2 \cdots A_N B_1 B_2 \cdots B_M
出力
標準出力に N + M 行出力せよ.
k 行目 (1 \leqq k \leqq N + M) には,C_k を出力せよ.
入力例 1
2 1 1 2 2
出力例 1
1 2 2
アルゴリズムを行う前,A=(1,2), B=(2) である. 以下のように数列 C が生成される.
- 数列 A の先頭の要素は 1,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
- 数列 A の先頭の要素は 2,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
- 数列 A は空なので,数列 B の先頭の要素を数列 C に追加しこれを数列 B から削除する.
- 数列 A も数列 B も空なので,アルゴリズムを終了する.
アルゴリズムが終了した後,数列 C=(1,2,2) である.
入力例 2
3 8 1 3 8 3 3 4 5 6 7 8 9
出力例 2
1 3 3 3 4 5 6 7 8 8 9