Тема: Алготестер. Задачі. Петрик і змійка.
https://www.algotester.com/uk/ArchivePr … play/20079
Підкажіть алгоритм. Як розв'язувати? На 17 прикладі перевищує ліміт пам'яті.
#include <iostream>
using namespace std;
int main()
{
long int x,y;
cin>>x>>y;
string S;
cin>>S;
long int n;
n = S.size();
bool arr[1000000][1000000];
arr[y][x] = true;
long int nomer_S=0;
while( nomer_S<n){
if(S[nomer_S]=='R'){
x+=1;
if(arr[y][x]==true){
n = -1;
cout<<"Fail"<<endl<<nomer_S+1;
return 0;
}
else{
arr[y][x] = true;
}
}
if(S[nomer_S]=='L'){
x-=1;
if(arr[y][x]==true){
n = -1;
cout<<"Fail"<<endl<<nomer_S+1;
return 0;
}
else{
arr[y][x] = true;
}
}
if(S[nomer_S]=='U'){
y+=1;
if(arr[y][x]==true){
n = -1;
cout<<"Fail"<<endl<<nomer_S+1;
return 0;
}
else{
arr[y][x] = true;
}
}
if(S[nomer_S]=='D'){
y-=1;
if(arr[y][x]==true){
n = -1;
cout<<"Fail"<<endl<<nomer_S+1;
return 0;
}
else{
arr[y][x] = true;
}
}
nomer_S+=1;
}
if(n!=-1){
cout<<"Success";
}
return 0;
}