fork(1) download
  1. #include <iostream>
  2. #include <list>
  3. using namespace std;
  4. long long n,length,leb,kier,kaput,waz,check,ktoradead,rozkaz;
  5. bool jem,zyje;
  6. list <long long> lista;
  7. string data;
  8. int main()
  9. {
  10. cin>>n;
  11. while (n--)
  12. {
  13. cin>>length >> data;
  14. lista.push_front(1000010000);
  15. leb=1000010000;
  16. kier=1,waz=1,zyje=true,ktoradead=0;
  17. for(char rozkaz : data)
  18. {
  19. ktoradead++;
  20. if(rozkaz==82)
  21. {
  22. kier++;
  23. if(kier==5) kier=1;
  24. }
  25. else if(rozkaz==76)
  26. {
  27. kier--;
  28. if(kier==0) kier=4;
  29. }
  30. else if(rozkaz!=69) lista.pop_back();
  31. if(kier==1) leb++;
  32. else if(kier==2) leb=leb+100000;
  33. else if(kier==3) leb--;
  34. else if(kier==4) leb=leb-100000;
  35. waz=lista.size();
  36. lista.remove(leb);
  37. check=lista.size();
  38. if (check+1<=waz)
  39. {
  40. zyje = false;
  41. break;
  42. }
  43. lista.push_front(leb);
  44. }
  45. if (zyje==true) cout<<"TAK"<<'\n';
  46. else cout<<ktoradead<<'\n';
  47. lista.clear();
  48. }
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0s 15240KB
stdin
1
100 FLLPPFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
stdout
TAK