fork download
  1. #include<bits/stdc++.h>
  2. #define f1(i, n) for(int i=1;i<=n;++i)
  3. #define f0(i, n) for(int i=0;i<n;++i)
  4. #define ull unsigned long long
  5. #define ll long long
  6. #define rev(a) reverse(a.begin(),a.end())
  7. #define all(x) x.begin(),x.end()
  8. #define so(A, n) sort(A+1, A+n+1)
  9. using namespace std;
  10. const int maxn = 1e6 + 1;
  11. const int N = 2e5 + 1;
  12. const ll MOD = 1e9 + 7;
  13. string A[101], B[101];
  14. vector<string> v[101];
  15. int main() {
  16. ios_base::sync_with_stdio(0);
  17. cin.tie(0);
  18. cout.tie(0);
  19. int m, n;
  20. cin >> m >> n;
  21. for (int i = 1; i <= m; ++i) {
  22. cin >> A[i];
  23. }
  24. for (int i = 1; i <= m; ++i) {
  25. cin >> B[i];
  26. }
  27. f1(i, m) {
  28. int left = 0, right = n - 1;
  29. while (A[i][left] == '0') ++left;
  30. while (A[i][right] == '0') --right;
  31. for (int j = 1; j <= m; ++j) {
  32. // Xet mang B
  33. if (B[j].size() == right - left + 1) {
  34. for (int k = 0; k < B[j].size(); ++k) {
  35. if (A[i][k + left] == B[j][k]) {
  36. v[i].push_back(B[j]);
  37. break;
  38. }
  39. }
  40. }
  41. }
  42. }
  43. f1(i, m) {
  44. // for (int j = 0; j < v[i].size(); ++j) cout << v[i][j] << " ";
  45. // cout << "\n";
  46. int d = 0;
  47. for (int j = 0; j < n; ++j) {
  48. if (A[i][j] == '0') cout << 0;
  49. else {
  50. cout << v[i][0][d];
  51. ++d;
  52. }
  53. }
  54. cout << "\n";
  55. }
  56.  
  57.  
  58. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty