#include <bits/stdc++.h> using namespace std; int n, m, k; vector<vector<int> > zabawka; void przeczytaj() { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]==0) { cout << '.'; } if(zabawka[i][j]==1) { cout << 'B'; } if(zabawka[i][j]==2) { cout << 'C'; } } cout << "\n"; } cout << "\n"; } void przesun(int jak) { if(jak==1) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int y = i; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[y][j]==0&&y>=0) { y--; if(y<0) { break; } } zabawka[y+1][j] = v; } } } } if(jak==2) { for(int i=n-1; i>=0; i--) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int y = i; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[y][j]==0&&y<=n) { y++; if(y>=n) { break; } } zabawka[y-1][j] = v; } } } } if(jak==3) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int x = j; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[i][x]==0&&x>=0) { x--; if(x<0) { break; } } zabawka[i][x+1] = v; } } } } if(jak==4) { for(int i=0; i<n; i++) { for(int j=m; j>=0; j--) { if(zabawka[i][j]!=0) { int x = j; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[i][x]==0&&x<=m) { x++; if(x>=m) { break; } } zabawka[i][x-1] = v; } } } } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> m; zabawka.resize(n+1, vector<int>(m+1, 0)); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { char z; cin >> z; if(z=='B') { zabawka[i][j] = 1; } if(z=='C') { zabawka[i][j] = 2; } } } cin >> k; vector<vector<int> > g, d, l, p; string x = ""; for(int i=0; i<k; i++) { char z; cin >> z; if(x.size()!=0) { if(x[x.size()-1]==z) { continue; } } x += z; if(z=='G') { przesun(1); } if(z=='D') { przesun(2); } if(z=='L') { przesun(3); } if(z=='P') { przesun(4); } } przeczytaj(); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | #include <bits/stdc++.h> using namespace std; int n, m, k; vector<vector<int> > zabawka; void przeczytaj() { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]==0) { cout << '.'; } if(zabawka[i][j]==1) { cout << 'B'; } if(zabawka[i][j]==2) { cout << 'C'; } } cout << "\n"; } cout << "\n"; } void przesun(int jak) { if(jak==1) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int y = i; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[y][j]==0&&y>=0) { y--; if(y<0) { break; } } zabawka[y+1][j] = v; } } } } if(jak==2) { for(int i=n-1; i>=0; i--) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int y = i; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[y][j]==0&&y<=n) { y++; if(y>=n) { break; } } zabawka[y-1][j] = v; } } } } if(jak==3) { for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(zabawka[i][j]!=0) { int x = j; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[i][x]==0&&x>=0) { x--; if(x<0) { break; } } zabawka[i][x+1] = v; } } } } if(jak==4) { for(int i=0; i<n; i++) { for(int j=m; j>=0; j--) { if(zabawka[i][j]!=0) { int x = j; int v = zabawka[i][j]; zabawka[i][j] = 0; while(zabawka[i][x]==0&&x<=m) { x++; if(x>=m) { break; } } zabawka[i][x-1] = v; } } } } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> m; zabawka.resize(n+1, vector<int>(m+1, 0)); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { char z; cin >> z; if(z=='B') { zabawka[i][j] = 1; } if(z=='C') { zabawka[i][j] = 2; } } } cin >> k; vector<vector<int> > g, d, l, p; string x = ""; for(int i=0; i<k; i++) { char z; cin >> z; if(x.size()!=0) { if(x[x.size()-1]==z) { continue; } } x += z; if(z=='G') { przesun(1); } if(z=='D') { przesun(2); } if(z=='L') { przesun(3); } if(z=='P') { przesun(4); } } przeczytaj(); return 0; } |