Submission #1652675
Source Code Expand
#include <algorithm> #include <cstdio> #include <iostream> #include <map> #include <cmath> #include <queue> #include <set> #include <sstream> #include <stack> #include <string> #include <vector> #include <stdlib.h> #include <stdio.h> #include <bitset> #include <cstring> using namespace std; #define FOR(I,A,B) for(int I = (A); I < (B); ++I) #define CLR(mat) memset(mat, 0, sizeof(mat)) typedef long long ll; int k, n; int a[9]; vector<int> d[55]; string s[55]; string t[9]; bool dfs(int dep) { if(dep == k) { FOR(i,0,k) t[i] = ""; FOR(i,0,n) { int p = 0; // 語呂のindex // 数字xのごろを作成 for(int x : d[i]) { string y = ""; // とりあえずyに保存していく FOR(j,0,a[x]) { if(p < s[i].size()) { y += s[i][p]; p++; } } if(y.size() != a[x]) return false; // 数字xのごろの長さが合っていない if(t[x] == "") t[x] = y; // 数字xのごろが決まってなかったらyにする else if(t[x] != y) return false; // すでに決まっててyでないならfalse } if(p != s[i].size()) return false; } FOR(i,0,k) cout << t[i] << endl; return true; } FOR(i,1,4) { a[dep] = i; if(dfs(dep+1)) return true; } return false; } int main() { cin >> k >> n; FOR(i,0,n) { int x; cin >> x; cin >> s[i]; while(x) { d[i].push_back(x%10 - 1); x /= 10; } reverse(d[i].begin(), d[i].end()); } dfs(0); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 語呂合わせ |
User | nenuon |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1602 Byte |
Status | AC |
Exec Time | 22 ms |
Memory | 256 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 | 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 | 4 ms | 256 KB |
subtask2-02.txt | AC | 3 ms | 256 KB |
subtask2-03.txt | AC | 6 ms | 256 KB |
subtask2-04.txt | AC | 10 ms | 256 KB |
subtask2-05.txt | AC | 2 ms | 256 KB |
subtask2-06.txt | AC | 2 ms | 256 KB |
subtask2-07.txt | AC | 21 ms | 256 KB |
subtask2-08.txt | AC | 4 ms | 256 KB |
subtask2-09.txt | AC | 22 ms | 256 KB |
subtask2-10.txt | AC | 16 ms | 256 KB |
subtask2-11.txt | AC | 16 ms | 256 KB |
subtask2-12.txt | AC | 9 ms | 256 KB |
subtask2-13.txt | AC | 4 ms | 256 KB |
subtask2-14.txt | AC | 12 ms | 256 KB |
subtask2-15.txt | AC | 6 ms | 256 KB |
subtask2-16.txt | AC | 14 ms | 256 KB |
subtask2-17.txt | AC | 1 ms | 256 KB |
subtask2-18.txt | AC | 15 ms | 256 KB |
subtask2-19.txt | AC | 13 ms | 256 KB |
subtask2-20.txt | AC | 15 ms | 256 KB |