首页 > 其他 > 详细

安置路灯

时间:2018-04-04 13:26:58      阅读:260      评论:0      收藏:0      [点我收藏+]

题目:

小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 }

 

安置路灯

原文:https://www.cnblogs.com/Kiven5197/p/8716545.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!