Don't like ads? PRO users don't see any ads ;-)
Guest

Burger Time

By: a guest on Jul 20th, 2012  |  syntax: None  |  size: 2.01 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int fun (int n,string str);
  6. int main ()
  7. {
  8.         int L;
  9.         string str;
  10.  
  11.         cin >> L;
  12.         cin.ignore();
  13.         while (L != 0)
  14.         {
  15.                 getline(cin,str);
  16.                
  17.                 int x = fun (L,str);
  18.  
  19.                 cout << x << endl;
  20.  
  21.  
  22.  
  23.                 cin >> L;
  24.                 cin.ignore();
  25.         }
  26.         return 0;
  27. }
  28. int fun (int n,string str)
  29. {
  30.         int min = 2000100;
  31.         //for (int i=0; i<n; i++)
  32.         //{
  33.         //      if (str[i] == 'Z')
  34.         //      {
  35.         //              return 0;
  36.         //      }
  37.         //      else if (str[i] == 'R')
  38.         //      {
  39.         //              int c = 0;
  40.         //              for (int j=i+1; j<n; j++)
  41.         //              {
  42.         //                      c++;
  43.         //                      if (str[j] == 'Z')
  44.         //                              return 0;
  45.         //                      else if (str[j] == 'D' || str[j] == 'Z')
  46.         //                      {
  47.         //                              if (c < min)
  48.         //                                      min = c;
  49.         //                              //i = j-1;
  50.         //                              break;
  51.         //                      }
  52.         //                      else if (str[j] == 'R')
  53.         //                              c=0;
  54.         //                     
  55.         //              }
  56.         //      }
  57.         //      else if ( str[i] == 'D' )
  58.         //      {
  59.         //              int c = 0;
  60.         //              for (int j=i+1; j<n; j++)
  61.         //              {
  62.         //                      c++;
  63.         //                      if (str[j] == 'Z')
  64.         //                              return 0;
  65.         //                      else if (str[j] == 'R')
  66.         //                      {
  67.         //                              if (c < min)
  68.         //                                      min = c;
  69.         //                              //i = j-1;
  70.         //                              break;
  71.         //                      }
  72.         //                      else if (str[j] == 'D')
  73.         //                              c = 0;
  74.         //                     
  75.         //              }
  76.         //      }
  77.         //     
  78.  
  79.         //}
  80.         bool check = false;
  81.         bool check2 = false;
  82.         int c=0;
  83.         for (int i=0; i<n; i++)
  84.         {
  85.                 if (str[i] == 'Z')
  86.                         return 0;
  87.                 else if (!check && str[i] == 'D')
  88.                         check = true;
  89.                 else if (check && str[i] == 'D')
  90.                         c = 0;
  91.                 else if (check && str[i] == '.')
  92.                         c++;
  93.                 else if (check && str[i] == 'R')
  94.                 {
  95.                         check2 = true;
  96.                         check = false;
  97.                         min = c+1;
  98.                         c=0;
  99.                 }
  100.         }
  101.         check = false;
  102.         c=0;
  103.         for (int i=0; i<n; i++)
  104.         {
  105.                 if (!check && str[i] == 'R')
  106.                         check = true;
  107.                 else if (check && str[i] == 'R')
  108.                         c = 0;
  109.                 else if (check && str[i] == '.')
  110.                         c++;
  111.                 else if (check && str[i] == 'D')
  112.                 {
  113.                         if (/*check2 == true &&*/ c+1 < min)
  114.                         {
  115.                                 check = false;
  116.                                 min = c+1;
  117.                                 c = 0;
  118.                         }
  119.                         else
  120.                         {
  121.                                 check = false;
  122.                                 c = 0;
  123.                         }
  124.                 }
  125.         }
  126.         /*if (check2 && c < min)
  127.                 return c;
  128.         else*/
  129.         if (min != 2000100)
  130.                 return min;
  131.         else
  132.                 return 0;
  133.  
  134.  
  135. }