Submission #4047295


Source Code Expand

#include <iostream>
#include <string>
#include <vector>

bool equiv(const std::vector<std::string>& A,
           const std::vector<std::string>& B,
           size_t iu, size_t ju) {

  size_t M = B.size();
  for (size_t i = 0; i < M; ++i)
    for (size_t j = 0; j < M; ++j)
      if (A[i+iu-M][j+ju-M] != B[i][j]) return false;
  return true;
}

int main() {
  size_t N, M;
  std::cin >> N >> M;

  std::vector<std::string> A(N), B(M);
  for (auto& a: A) std::cin >> a;
  for (auto& b: B) std::cin >> b;

  for (size_t i = M; i <= N; ++i)
    for (size_t j = M; j <= N; ++j)
      if (equiv(A, B, i, j)) {
        std::cout << "Yes\n";
        return 0;
      }

  std::cout << "No\n";
}

Submission Info

Submission Time
Task B - Template Matching
User rsk0315
Language C++14 (GCC 5.4.1)
Score 200
Code Size 689 Byte
Status AC
Exec Time 1 ms
Memory 256 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 1 ms 256 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 1 ms 256 KB
subtask_1_08.txt AC 1 ms 256 KB