問題文がややこしい書き方をしているけど、「要するにこういうこと!」という言い換えができるといい。
問題概要
文字 .
, @
からなる長さ の文字列 が与えられる。@
を左から順に 個だけ .
に書き換える。
書き換えたあとの文字列に含まれる文字 .
の個数を答えよ。
考えたこと
「左から順に」という指定を守るような実装をしてもよいが、その必要はない。単に
- に含まれる
.
の個数を求める - それに を足す
とするだけでよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, D; string S; cin >> N >> D >> S; int res = 0; for (int i = 0; i < N; i++) { if (S[i] == '.') res++; } cout << res + D << endl; }