安置路灯——贪心,简单易懂

安置路灯

http://www.nowcoder.com/questionTerminal/3a3577b9d3294fb7845b96a9cd2e099c

贪心算法即可,因为每个点都必须要被照亮。所以从前向后每找到一个s[i]位置为 . ,则将灯放置在i+1位置会有最好的效果,这样i、i+1和i+2都会被照亮,X位置不需要照亮,但是也可以被照亮,哈哈

#include <string>
#include <iostream>
using namespace std;
int main()
{
    int t;
    cin>>t;
    string s;
    while(t--)
    {
        int n;
        cin>>n;
        s="";
        getchar();
        getline(cin,s);
        int count=0;
        for(int i=0;i<s.length();i++)
        {
            if(s[i]=='X')
                continue;
            count++;
            s[i]='X';
            i+=2;
        }
        cout<<count<<endl;
    }
    return 0;
}
全部评论

相关推荐

06-18 16:45
门头沟学院 Java
玩脱了,吊着两家结果两家都不要鼠鼠了,我真想给自己两巴掌。
凉风落木楚山秋:当作是你把这两家公司从地球开除了就行了
点赞 评论 收藏
分享
Rena1ssance_:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务