Kickstart 2020 Round B задача Расшифровка пути робота - PullRequest
0 голосов
/ 19 апреля 2020

Я попробовал подход к проблеме 3 в Kickstart 2020, связанной ниже. https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc8/00000000002d83dc
Он прошел Образец контрольного примера и тестового набора 1, но дает «WA» в тестовом наборе 2. Я не понимаю, что я делаю неправильно, поскольку я новичок в CP , Я даже пробовал различные другие настройки после того, как раунд закончился на практике, но ничего не работает. Это мой код:

#include<bits/stdc++.h>
using namespace std;
long long x=1,y=1,i=0,m=1,MOD=1e9;

void prog(string n,long long c){

        if(isdigit(n[i])){
            int temp=(int)n[i] - 48;
            long long v = 0;
            i+=2;
            m=m*temp;
            v=m;
            while(n[i]!=')'){

                prog(n,m % MOD);
            }
            m=m/temp;
        }
        else{
        if(n[i]=='N'){y-=c;if(y<1)y=1e9+y;}
        else if(n[i]=='S'){y+=c;if(y>1e9)y=y-1e9;}
        else if(n[i]=='W'){x-=c;if(x<1)x=1e9+x;  }
        else if(n[i]=='E'){x+=c;if(x>1e9)x=x-1e9;}
    }
    i++;
}

int main(){
    int t;
    cin>>t;
    for(int tc=1;tc<=t;tc++){
        string n;
        cin>>n;
        n="1("+n+")";
        prog(n,1);
        cout<<"Case #"<<tc<<": "<<x<<" "<<y<<endl;
        i=0;
        x=1;
        y=1;

    }
}
...