• 安置路灯


    题目:

    小Q正在给一条长度为n的道路设计路灯安置方案。 
    为了让问题更简单,小Q把道路视为n个方格,需要照亮的地方用'.'表示, 不需要照亮的障碍物格子用'X'表示。 
    小Q现在要在道路上设置一些路灯, 对于安置在pos位置的路灯, 这盏路灯可以照亮pos - 1, pos, pos + 1这三个位置。 
    小Q希望能安置尽量少的路灯照亮所有'.'区域, 希望你能帮他计算一下最少需要多少盏路灯。

    输入描述:

    输入的第一行包含一个正整数t, 表示测试用例数 
    接下来每两行一个测试数据, 第一行一个正整数n,表示道路的长度。 
    第二行一个字符串s表示道路的构造,只包含'.''X'

    输出描述:

    对于每个测试用例, 输出一个正整数表示最少需要多少盏路灯。

    样例:

    in:
    2
    3
    .X.
    11
    ...XX....XX
    
    out:
    1
    3

    贪心,每有一个‘.’则安置一个路灯再向后移两位。

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 char a[1010];
     5 
     6 int main(){
     7     int t,n;
     8     cin>>t;
     9     while(t--){
    10         cin>>n;
    11         for(int i=0;i<n;i++){
    12             cin>>a[i];
    13         }
    14         int sum=0;
    15         for(int i=0;i<n;i++){
    16             if(a[i]=='.'){
    17                 sum++;
    18                 i+=2;
    19             }
    20         }
    21         cout<<sum<<endl;
    22     }
    23     return 0;
    24 }
  • 相关阅读:
    time模块
    collection模块
    re模块
    HTML
    Java数据结构之快速排序
    Java数据结构之循环链表(与单链表比较)
    Java数据结构之单链表
    Java数据结构之队列
    Java数据结构之栈
    java数据结构之数组
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/8716545.html
Copyright © 2020-2023  润新知