Submission #3415440


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <math.h>
#include <numeric>

using namespace std;

int main(){

  int n, m;
  cin >> n >> m;

  string a[n][n];
  string b[m][m];

  string tmp;
  for (int i = 0; i < n; i++){
    cin >> tmp;
    for (int j = 0; j < n; j++){
      a[i][j] = tmp[j];
    }
  }
  for (int i = 0; i < m; i++){
    cin >> tmp;
    for (int j = 0; j < m; j++){
      b[i][j] = tmp[j];
    }
  }

  // judge
  for (int i = 0; i <= n - m; i++){
    for (int j = 0; j <= n - m; j++){

      int flag = 0;
      for (int m1 = 0; m1 < m; m1++){
        for (int m2 = 0; m2 < m; m2++){

          if (a[i + m1][j + m2] == b[m1][m2]){
            flag += 1;
          }

        }
      }

      if (flag == m * m){
        cout << "Yes" << endl;
        return 0;
      }

    }
  }

  cout << "No" << endl;

  return 0;
}

Submission Info

Submission Time
Task B - Template Matching
User ykanebako
Language C++14 (GCC 5.4.1)
Score 200
Code Size 939 Byte
Status AC
Exec Time 5 ms
Memory 512 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 2
AC × 10
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 1 ms 256 KB
subtask_1_04.txt AC 1 ms 256 KB
subtask_1_05.txt AC 2 ms 256 KB
subtask_1_06.txt AC 2 ms 512 KB
subtask_1_07.txt AC 5 ms 384 KB
subtask_1_08.txt AC 1 ms 384 KB