使用贪心法,保证'.'在路灯照射的最左端。
使用索引i遍历数组,发现'.'后,在i+1位置放置路灯,同时,i,i+1,i+2全部照亮,遍历从i+3位置继续。

代码如下:

#include <iostream>
#include <vector>

using namespace std;

int main() {

    int T, n, x;
    cin >> T;
    while (T--) {
        cin >> n;
        vector<char> A(n);
        for (int i = 0; i < n; ++i) 
            cin >> A[i];
        int c = 0;
        for (int i = 0; i < n; ++i) {
            if (A[i] == '.') {
                ++c;
                i += 2;
            }
        }
        cout << c << endl;
    }

    return 0;
}