1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <string.h>

using namespace std;
int il;
bool myEnd = false;
string m;

int main()
{
    cin>>il;
    m.reserve(il);



    cin>>m;

    int odp[il];

        for (int i=0; i<il; i++)
        {
            odp[i]=0;
        }


    while(!myEnd)
    {
        myEnd = true;

        for (int i=0; i<il; i++)
        {
            if((m[i]=='L')&&(i!=0))
            {
                if(m[i-1] == 'P')
                {
                    m.replace(i,1,"P");
                    m.replace(i-1,1,"L");
                    odp[i]++;
                    odp[i-1]++;
                    myEnd = false;

                }
            }

            if((m[i]=='P')&&(i != il-1))
            {
                if(m[i+1] == 'L')
                {
                    m.replace(i,1,"L");
                    m.replace(i+1,1,"P");
                    odp[i]++;
                    odp[i+1]++;
                    myEnd = false;
                }
            }

        }
    }


        cout<<odp[0];
        for (int i=1; i<il; i++)
        {
            cout<<" "<<odp[i];
        }





    return 0;
}