実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 20
問題概要
個の座席が並んでおり、座席には の番号が付けられている。なお、座席の状態は#
, .
からなる長さ の文字列 によって与えられ、 の 文字目が#
のとき座席 には人が座っていることを表し、.
のとき座席 には人が座っていないことを表す。このとき、 を満たす整数 であって、以下の条件を満たすものの個数を求めよ。
- 条件 : 座席 には人が座っており、座席 には人が座っていない。
制約
- は整数で、 を満たす。
考察
問題文の通りに実装していくだけ。
#
かつ .
かつ #
であれば答えのカウンターを加算すればよい。
コード
#include <bits/stdc++.h> using namespace std; #define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++) // ======================================== // int main() { int N; string S; cin >> N >> S; int ans = 0; rep(i, 0, N - 2) { if (S[i] == '#' && S[i + 1] == '.' && S[i + 2] == '#') { ans++; } } cout << ans << endl; }
実装時間: 5分