fork download
  1. //g++ 5.4.0
  2.  
  3. #include <bits/stdc++.h>
  4. #define ll long long
  5. using namespace std;
  6. /*
  7. 3
  8. 5 3 6 2 3
  9. EEWNS
  10. 4 3 3 1 1
  11. SESE
  12. 11 5 8 3 4
  13. NEESSWWNESE
  14. */
  15. ll a[10001][10001];
  16. int main()
  17. {
  18. ll t,i,j,k,n,q,u,v,st,ed,r,c;
  19. k=0;
  20. cin>>t;
  21. while(t--)
  22. {
  23. k++;
  24. cin>>n>>r>>c>>st>>ed;
  25. string s;
  26. cin>>s;
  27. a[st][ed]=1;
  28. for(i=0;i<n;i++)
  29. {
  30. if(s[i]=='E')
  31. {
  32. ed++;
  33. if(!a[st][ed])
  34. {
  35. a[st][ed]=1;
  36. }
  37. else
  38. {
  39. while(a[st][ed])
  40. {
  41. //a[r][c]=1;
  42. ed++;
  43. }
  44. a[st][ed]=1;
  45. }
  46. }
  47. else if(s[i]=='S')
  48. {
  49. st++;
  50. if(!a[st][ed])
  51. {
  52. a[st][ed]=1;
  53. }
  54. else
  55. {
  56. while(a[st][ed])
  57. {
  58. st++;
  59. }
  60. a[st][ed]=1;
  61. }
  62. }
  63. else if(s[i]=='W')
  64. {
  65. ed--;
  66. if(!a[st][ed])
  67. {
  68. a[st][ed]=1;
  69. }
  70. else
  71. {
  72. while(a[st][ed])
  73. {
  74. ed--;
  75. }
  76. a[st][ed]=1;
  77. }
  78.  
  79. }
  80. else
  81. {
  82. st--;
  83. if(!a[st][ed])
  84. {
  85. a[st][ed]=1;
  86. }
  87. else
  88. {
  89. while(a[st][ed])
  90. {
  91. //a[r][c]=1;
  92. st--;
  93. }
  94. a[st][ed]=1;
  95. }
  96. }
  97. //cout<<st<<" "<<ed<<" ";
  98. }
  99. cout<<"Case #"<<k<<": "<<st<<" "<<ed<<endl;
  100. for(i=1;i<=n;i++)
  101. {
  102. for(j=1;j<=n;j++)
  103. {
  104. a[i][j]=0;
  105. }
  106. }
  107. }
  108. }
Success #stdin #stdout 0s 4464KB
stdin
3
5 3 6 2 3
EEWNS
4 3 3 1 1
SESE
11 5 8 3 4
NEESSWWNESE
stdout
Case #1: 3 2
Case #2: 3 3
Case #3: 3 7