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;
}
全部评论

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
11-09 11:01
济南大学 Java
Java抽象带篮子:外卖项目真得美化一下,可以看看我的详细的外卖话术帖子
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务