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 |
|
|
|
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 |