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