zoukankan      html  css  js  c++  java
  • 11661


      Burger Time? 

    Everybody knows that along the more important highways there are countless fast food restaurants. One can find easily hamburgers, hot dogs, pizzas, sandwiches ... food everywhere.

    Many times the problem isn't to find a restaurant but a drugstore. After a big lunch with fast food it's normal that we need a drugstore because our stomach begins to feel pain.

    Given the locations of the restaurants and drugstores on a highway, you want to determine the minimum distance between a restaurant and a drugstore.

     

    Input 

    The first line of each test case gives an integer L ( $ leq$ L $ leq$ 2000000) indicating the length of the highway.

    The second line of each test case contains a string S of length L, showing the positions of the restaurants and drugstores along the highway in the following manner:

     

    • The character ``R'' represents a place with a restaurant.
    • The character ``D'' represents a place with a drugstore.
    • The character ``Z'' represents a place with a restaurant and a drugstore.
    • The character ``.'' represents an empty place.

    You can suppose that every test case has at least one restaurant and at least one drugstore.

    The end of the input is indicated when L = 0.

     

    Output 

    For each case in the input, print one line with the minimum distance between a restaurant and a drugstore.

     

    Sample Input 

     

    2
    RD
    5
    ..Z..
    10
    .R......D.
    10
    .R..Z...D.
    10
    ...D..R...
    25
    ..D...R.RR...DD...D.R...R
    0
    

     

    Sample Output 

     

    1
    0
    7
    0
    3
    2
    

     

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    char a[2000005];
    int main()
    {
    	int n,i,j;
    	while(scanf("%d",&n)&&n)
    	{
    		int mind=2000005,j=0;
    		scanf("%s",a);
    		for(i=0;i<n;i++)
    		{
    			if(a[i]=='Z') mind=0;
    			if(a[i]!='.')
    			{
    				if(a[j]!='.'&&a[i]!=a[j])
    					mind=min(mind,i-j);
    				j=i;
    			}
    		}
    		printf("%d
    ",mind);
    	}
    	return 0;
    }
  • 相关阅读:
    PHP标准库 (SPL) 笔记
    PHP反射
    PHPer书单
    深入理解面向对象——六大基本原则
    Session自定义存储及分布式存储
    06- Shell脚本学习--其它
    05- Shell脚本学习--函数
    04- Shell脚本学习--条件控制和循环语句
    03- Shell脚本学习--字符串和数组
    02- Shell脚本学习--运算符
  • 原文地址:https://www.cnblogs.com/james1207/p/3301796.html
Copyright © 2011-2022 走看看