ABC081A Placing Marbles
Placing Marbles
ABC081A Placing Marbles
AtCoder Beginners Selectionより。
0か1の書かれたマスが3つあり、そのうち1の書かれたマスにビー玉が置かれる。
101, 001, 110など、マスの1/0を入力で指定し、ビー玉が置かれるマスはいくつあるかを出力する
という問題です。主に文字列(string)型、文字(char)型の配列の取り扱いを問う問題かな、と思います。
下は提出でACが出た回答ですが、string型の挙動をまだ良く知らなかったのでわざわざchar型のvectorを宣言する必要はなかったかもしれないです。
#include <iostream>
#include <string>
#include <vector>
// geschrieben von Beliar698ma
int main() {
std::string s;
std::cin >> s;
std::vector<char> vec(3);
for(int i = 0; i < 3; i++) {
vec.at(i) = s.at(i);
}
int count = 0;
for(int i = 0; i < 3; i++) {
if (vec.at(i) == '1') count++;
}
std::cout << count << "\n";
}
入力例(標準入力)
101
出力例(標準出力)
上記の入力では1つ目のマスと3つ目のマスにビー玉が置かれるので、
出力は以下のようになります。
出力は以下のようになります。
2
動作が気になりましたらpaiza.ioなどで上記のコードをテストしてみてください。