c++题解
安置路灯
http://www.nowcoder.com/questionTerminal/3a3577b9d3294fb7845b96a9cd2e099c
使用贪心法,保证'.'在路灯照射的最左端。
使用索引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;
}
查看10道真题和解析