Translate

Views

Thursday, May 25, 2023

Solution Uva-Uhunt: 11507 - Bender B. Rodr ́iguez Problem

 Click on table to read problem, udebug, discuss, ...

  Last Submissions
  Problem  VerdictLangTimeBestRankSubmit Time
 | discuss11507 - Bender B. Rodríguez Problem AcceptedC++110.0500.00029191 mins ago

Suggest:
- The state 2 will depend on the state 1 and the bending step 1
-> The state i will depend on the state i-1 and the bending step i-1.
=> The state n will depend on the state n-1 and the bending step n-1. 

#include<bits/stdc++.h>
#define         int                 long long
#define         N                   1000111
#define         oo                  9223372036854775807LL
#define         X                   first
#define         Y                   second
#define         FOR(i, a, b)        for(int i=a; i<=b; i++)
#define         DOW(i, a, b)        for(int i=b; i>=a; i--)
#define         pb                  push_back
#define         popb                pop_back
#define         pf                  push_front
#define         popf                pop_front
#define         forvec(i,a)         for(int i=0; i<a.size(); i++)
#define         for1(i,n)           for(int i=1; i<=n; i++)
#define         for0(i,n)           for(int i=0; i<n; i++)
using namespace std;
typedef pair<int, int> ii;
typedef pair<int, ii> iii;

int t, n, x, y, z, l, r, k;
int a[N], b[N];
char c[N];
string s;

int32_t main(){
    ios::sync_with_stdio(false); cin.tie(nullptr);

     
    while(cin >> n && n){
        string state="+x";
        for1(i,n-1){
            string next_step;
            cin >> next_step;
           
            if (next_step == "No") continue;
           
            if (state == "+x")
                state = next_step;
   
            else
            if (state == "-x"){
                string x= (next_step[0]=='+'?"-":"+");
                string y="";
                y += next_step[1];
                state = x + y;
            }  
            else
            if (state==next_step)
                state= "-x";
           
            else
            if (state[1]==next_step[1])
                state= "+x";

        }
        cout<<state<<"\n";
    }
}