Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. ios::sync_with_stdio(0);
  5. cin.tie(0);
  6. int Y, X, y, x, k;
  7. string s;
  8. cin>>Y>>X>>y>>x>>s;
  9. vector<vector<int> > table(Y+1);
  10. for(int i=1;i<=Y;i=i+1) table[i].resize(X+1);
  11. for(int i=0;i<s.size();i=i+1){
  12. if(s[i]=='U')
  13. y--;
  14. else if(s[i]=='D')
  15. y++;
  16. else if(s[i]=='R')
  17. x++;
  18. else if(s[i]=='L')
  19. x--;
  20. if(s[i]=='?') {
  21. k=i;
  22. break;
  23. }
  24. }
  25. vector<pair<int,int> > g;
  26. g.push_back({y,x});
  27. for(int i=k;i<s.size();i=i+1){
  28. if(s[i]=='?'){
  29. int siz=g.size();
  30. while(siz>0){
  31. if(g[0].first+1<=Y) g.push_back({g[0].first+1, g[0].second});
  32. if(g[0].first-1>=1) g.push_back({g[0].first-1, g[0].second});
  33. if(g[0].second+1<=X) g.push_back({g[0].first, g[0].second+1});
  34. if(g[0].second-1>=1) g.push_back({g[0].first, g[0].second-1});
  35. g.erase(g.begin());
  36. siz--;
  37. }
  38. }
  39. else if(s[i]=='U'){
  40. for(int j=0;j<g.size();j=j+1){
  41. if(g[j].first-1<1){
  42. g.erase(g.begin()+j);
  43. j--;
  44. }
  45. else g[j].first--;
  46. }
  47. }
  48. else if(s[i]=='D'){
  49. for(int j=0;j<g.size();j=j+1){
  50. if(g[j].first+1>Y){
  51.  
  52. g.erase(g.begin()+j);
  53. j--;
  54. }
  55. else g[j].first++;
  56. }
  57. }
  58. else if(s[i]=='R'){
  59. for(int j=0;j<g.size();j=j+1){
  60. if(g[j].second+1>X){
  61.  
  62. g.erase(g.begin()+j);
  63. j--;
  64. }
  65. else g[j].second++;
  66. }
  67. }
  68. else if(s[i]=='L'){
  69. for(int j=0;j<g.size();j=j+1){
  70. if(g[j].second-1<1){
  71.  
  72. g.erase(g.begin()+j);
  73. j--;
  74. }
  75. else g[j].second--;
  76.  
  77. }
  78. }
  79. }
  80. for(int o=0;o<g.size();o=o+1){
  81. table[g[o].first][g[o].second]=1;
  82. }
  83. for(int i=1;i<=Y;i=i+1){
  84. for(int j=1;j<=X;j=j+1){
  85. cout<<table[i][j];
  86. }
  87. cout<<endl;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement