
Burger Time
By: a guest on
Jul 20th, 2012 | syntax:
None | size: 2.01 KB | hits: 12 | expires: Never
#include <iostream>
#include <string>
using namespace std;
int fun (int n,string str);
int main ()
{
int L;
string str;
cin >> L;
cin.ignore();
while (L != 0)
{
getline(cin,str);
int x = fun (L,str);
cout << x << endl;
cin >> L;
cin.ignore();
}
return 0;
}
int fun (int n,string str)
{
int min = 2000100;
//for (int i=0; i<n; i++)
//{
// if (str[i] == 'Z')
// {
// return 0;
// }
// else if (str[i] == 'R')
// {
// int c = 0;
// for (int j=i+1; j<n; j++)
// {
// c++;
// if (str[j] == 'Z')
// return 0;
// else if (str[j] == 'D' || str[j] == 'Z')
// {
// if (c < min)
// min = c;
// //i = j-1;
// break;
// }
// else if (str[j] == 'R')
// c=0;
//
// }
// }
// else if ( str[i] == 'D' )
// {
// int c = 0;
// for (int j=i+1; j<n; j++)
// {
// c++;
// if (str[j] == 'Z')
// return 0;
// else if (str[j] == 'R')
// {
// if (c < min)
// min = c;
// //i = j-1;
// break;
// }
// else if (str[j] == 'D')
// c = 0;
//
// }
// }
//
//}
bool check = false;
bool check2 = false;
int c=0;
for (int i=0; i<n; i++)
{
if (str[i] == 'Z')
return 0;
else if (!check && str[i] == 'D')
check = true;
else if (check && str[i] == 'D')
c = 0;
else if (check && str[i] == '.')
c++;
else if (check && str[i] == 'R')
{
check2 = true;
check = false;
min = c+1;
c=0;
}
}
check = false;
c=0;
for (int i=0; i<n; i++)
{
if (!check && str[i] == 'R')
check = true;
else if (check && str[i] == 'R')
c = 0;
else if (check && str[i] == '.')
c++;
else if (check && str[i] == 'D')
{
if (/*check2 == true &&*/ c+1 < min)
{
check = false;
min = c+1;
c = 0;
}
else
{
check = false;
c = 0;
}
}
}
/*if (check2 && c < min)
return c;
else*/
if (min != 2000100)
return min;
else
return 0;
}