B - 雨上がり
Editorial
/
雨が上がった.そろそろ大学に行こう.
僕の家から大学までは一本道の道路で結ばれている.道路は区間に分けることができ,ここでは,道路を一行の文字列で表すことにする.各文字が1つの区間に相当し,1文字目が家の前の区間,最後の文字が大学の前の区間を表している.
ここで,各文字の意味は次のとおりである.
家の前の道路から大学の前の道路まで適切な進み方で向かうとき,最低限踏まなければならない水たまりの数を求めてほしい.
入力は以下の形式で標準入力から与えられる.
最低限踏まなければならない水たまりの数を標準出力に 1 行で出力せよ.
なお、最後には改行を出力せよ.
Time Limit: 2 sec / Memory Limit: 64 MB
問題
ここで,各文字の意味は次のとおりである.
. : 普通の区間 X : 水たまりのある区間僕は家の前の区間からスタートし大学へ向かう.僕は現在位置から1つ,2つ,もしくは3つ先の区間(大学のある方向)へ進むことができる.もし,移動した先の区間に水たまりがある場合,僕は水たまりを踏むはめになる.買ったばかりの靴を汚したくないので,なるだけ水たまりを避けたい.また,大学の前の道路を超えて移動するようなことはできない.
家の前の道路から大学の前の道路まで適切な進み方で向かうとき,最低限踏まなければならない水たまりの数を求めてほしい.
入力
N S
- 1 行目に区間の数を表す N(3 ≦ N ≦ 100) が与えられる.
- 2 行目には,N 文字の文字列 S が与えられる.これらは道路の区間のデータである.
- S に出現する文字は '.', 'X' のいずれかであり,意味は上に記した通りである.
- S の最初と最後の文字は必ず '.' である.
出力
なお、最後には改行を出力せよ.
入力例 1
5 .XXX.
出力例 1
1
入力例 2
10 .X.XXXXXX.
出力例 2
2
入力例 3
7 .......
出力例 3
0