Submission #1590933


Source Code Expand

import std.algorithm, std.conv, std.range, std.stdio, std.string;
import std.container; // SList, DList, BinaryHeap

void main()
{
  auto rd1 = readln.split, k = rd1[0].to!int, n = rd1[1].to!size_t;
  auto v = new int[][](n), w = new string[](n);
  foreach (i; 0..n) {
    auto rd2 = readln.split;
    v[i] = rd2[0].map!(c => c - '1').map!(to!int).array;
    w[i] = rd2[1];
  }

  auto q = DList!(string[])(["".repeat.take(k).array]);
 loop: while (!q.empty) {
    auto x = q.front; q.removeFront();
    foreach (i; 0..n) {
      auto wi = w[i];
      foreach (j, vj; v[i]) {
        auto xj = x[vj], xl = xj.length.to!int, wl = wi.length.to!int;
        if (!xj.empty) {
          if (wl < xl || wi[0..xl] != xj) continue loop;
          wi = wi[xl..$];
        } else {
          foreach (m; 1..4) {
            auto rw = wl - m, rv = v[i].length.to!int - j.to!int - 1;
            if (rw < rv || rw > rv * 3) continue;
            auto y = x.dup;
            y[vj] = wi[0..m];
            q.insertBack(y);
          }
          continue loop;
        }
      }
    }
    x.each!writeln;
    return;
  }
}

Submission Info

Submission Time
Task D - 語呂合わせ
User tesh
Language D (DMD64 v2.070.1)
Score 100
Code Size 1147 Byte
Status AC
Exec Time 1 ms
Memory 508 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 256 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 508 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 1 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 380 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