Submission #3786386


Source Code Expand

#include <iostream>
#include <string>
using namespace std;

int stamp[10] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0  
};

string sum_v = "";
string sum_w = "";
int k, n;
string ans[9 + 1];
string v[51], w[51];

bool dfs (int s, int ss) {
  if (s >= sum_v.size() && ss < sum_w.size()) {
    return false;  
  }
  if (ss >= sum_w.size() && s < sum_v.size()) {
    return false;  
  }
  if (s == sum_v.size() && ss == sum_w.size()) {
    for (int i = 0; i < n; i++) {
      string sub = "";
      for (int j = 0; j < v[i].size(); j++) {
        int itr = v[i][j] - '0';
        sub = sub + ans[itr];   
      }   
      if (sub != w[i]) {
        return false;  
      }
    }      
    return true;
  }
  int now = sum_v[s] - '0';
  if (stamp[now] == 1) {
    for (int i = 0; i < ans[now].size(); i++) {
      if (ss + i >= sum_w.size()) {
        return false;  
      }
      if (ans[now][i] != sum_w[ss + i]) {
        return false;    
      }  
    }  
    return dfs(s + 1, ss + ans[now].size());
  }
  else {
    string sub = "";
    for (int i = 0; i < 3; i++) {
      stamp[now] = 1;
      if (ss + i >= sum_w.size()) {
        stamp[now] = 0;
        break;  
      }
      sub += sum_w[ss + i];
      ans[now] = sub;
      if (dfs(s + 1, ss + i + 1)) {
        return true;  
      } 
      stamp[now] = 0;
    }
    return false;
  }
}

int main () {
  cin >> k >> n;
  for (int i = 0; i < n; i++) {
    cin >> v[i] >> w[i];   
    sum_v += v[i];
    sum_w += w[i];
  }  
  for (int i = 0; i <= k; i++) {
    ans[i] = "";    
  }
  if (dfs(0, 0)) {
    for (int i = 1; i <= k; i++) {
      cout << ans[i] << endl;     
    }
  }
}

Submission Info

Submission Time
Task D - 語呂合わせ
User ijm
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1713 Byte
Status AC
Exec Time 2 ms
Memory 384 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 40 / 40 60 / 60
Status
AC × 4
AC × 23
AC × 44
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB
sample-04.txt AC 1 ms 256 KB
subtask1-01.txt AC 1 ms 256 KB
subtask1-02.txt AC 1 ms 256 KB
subtask1-03.txt AC 1 ms 256 KB
subtask1-04.txt AC 1 ms 256 KB
subtask1-05.txt AC 1 ms 256 KB
subtask1-06.txt AC 1 ms 256 KB
subtask1-07.txt AC 1 ms 256 KB
subtask1-08.txt AC 1 ms 256 KB
subtask1-09.txt AC 1 ms 256 KB
subtask1-10.txt AC 1 ms 256 KB
subtask1-11.txt AC 1 ms 256 KB
subtask1-12.txt AC 1 ms 256 KB
subtask1-13.txt AC 1 ms 256 KB
subtask1-14.txt AC 1 ms 256 KB
subtask1-15.txt AC 1 ms 256 KB
subtask1-16.txt AC 1 ms 384 KB
subtask1-17.txt AC 1 ms 256 KB
subtask1-18.txt AC 1 ms 256 KB
subtask1-19.txt AC 1 ms 256 KB
subtask1-20.txt AC 1 ms 256 KB
subtask2-01.txt AC 1 ms 256 KB
subtask2-02.txt AC 1 ms 256 KB
subtask2-03.txt AC 1 ms 256 KB
subtask2-04.txt AC 1 ms 256 KB
subtask2-05.txt AC 1 ms 256 KB
subtask2-06.txt AC 1 ms 256 KB
subtask2-07.txt AC 1 ms 256 KB
subtask2-08.txt AC 1 ms 256 KB
subtask2-09.txt AC 2 ms 256 KB
subtask2-10.txt AC 1 ms 256 KB
subtask2-11.txt AC 1 ms 256 KB
subtask2-12.txt AC 1 ms 256 KB
subtask2-13.txt AC 1 ms 256 KB
subtask2-14.txt AC 1 ms 256 KB
subtask2-15.txt AC 1 ms 256 KB
subtask2-16.txt AC 1 ms 256 KB
subtask2-17.txt AC 1 ms 256 KB
subtask2-18.txt AC 1 ms 256 KB
subtask2-19.txt AC 1 ms 256 KB
subtask2-20.txt AC 1 ms 256 KB