ごめんなさい
忘れてましたごめんなさい
今日の問題
情報オリンピックが近いので過去問(一次予選1回目4問目)の解説みたいなのをしたいと思います
D - 現れている数字 (Appearing Numbers)
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
問題文
0 以上 9 以下の整数からなる,長さ N の数列 A=(A1,A2,…,AN) が与えられる.数列 A に少なくとも 1 回現れている整数をすべて,小さい順に出力せよ.
制約
- 1 ≦ N ≦ 100.
- 0 ≦ Ai ≦ 9 (1 ≦ i ≦ N).
- 入力される値はすべて整数である.
この問題は入力された数字の種類を小さい順で改行して出力する問題です
これが自分が書いたコードです
5行目:コードの始まり
6行目:数の変数「int」でnとmの宣言、「cin」でnへの入力
7行目:動的配列(なんかたくさん要素(今回の場合数字)が入る)「vector」の「int型」変数kの宣言(kにn個の要素が入る)
8,9行目:kにn個入力(繰り返しの関数「for」を使う)
10行目:10回繰り返す文(iは0~9)
11行目:n回繰り返す
12行目:mにkのii番目(iiは0~n)を入力
13~16行目:仮定の文「if」で「もしも(10行目の)iとmの値が同じだったら」「cout」でiを改行「endl」して出力→「break」で11行目の繰り返しを停止する
17~19行目:17行目は11行目(for文)の終わり、18行目は10行目(for文)の終わり、19行目はコードの終わり
まとめ
もし0があったら出力→もし1があったら出力 の繰り返しで解けると思う。多分。メイビー。
(もしくは真偽を判定する関数「bool」を使って 「0があったら0を真にして→1があったらを真にするの繰り返し→真の数を出力する」 これで解けると思うよ)
わかった?
自分の説明がカス過ぎてわかんなさそうで怖いです。
情オリ頑張ろう!!!!!!
コメント