Я попробовал подход к проблеме 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;
}
}