CF 67A - Partial Teacher

题目:67A - Partial Teacher

思路:多写几组数据就可以找到规律了,就是要找到当前位置,往左往右的不完全连续L和R的最大长度

 

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
using namespace std;
queue<int>q;
int main()
{
    while(!q.empty())
        q.pop();
    int n;
    string s;
    cin>>n;
    cin>>s;
    for(int c=0;c<n;c++)
    {
        int i=c-1,j=c;
        int l=1,r=1;
        while(s[i]!='L'&&i>=0)
            if(s[i]=='R')
                l++,i--;
            else
                i--;
        while(s[j]!='R'&&j<n)
            if(s[j]=='L')
                r++,j++;
            else
                j++;
        q.push(max(r,l));
    }
    while(q.size()!=1)
    {
        printf("%d ",q.front());
        q.pop();
    }
    printf("%d\n",q.front());
    return 0;
}
View Code

 

posted @ 2013-06-19 20:47  over_flow  阅读(194)  评论(0编辑  收藏  举报