Submission #2106152
Source Code Expand
#include <iostream> #include <cmath> #include <vector> #include <bitset> #include <algorithm> #include <stack> #include <queue> #include <map> #include <climits> #include <set> #include <map> #include <iomanip> #include <cassert> #include <functional> #include <cstring> using namespace std; #define mp make_pair #define FOR(i, a, b) for(int (i)=a;(i)<(b);++(i)) #define rep(i, n) FOR(i,0,n) #define rrep(i,m,n) for(int i=(int)(m); i>=(int)(n); i--) #define vsort(v) sort((v).begin(), (v).end()); //小さい順 #define rvsort(v) sort(v.begin(), v.end(),greater<>()); //大きい順 #define YES cout<<"YES"<< endl #define NO cout<<"NO"<<endl #define Yes cout<<"Yes"<<endl #define No cout<<"No"<<endl #define yes cout<<"yes"<<endl #define no cout<<"no"<<endl #define all(c) (c).begin(),(c).end() #define ll long long #define vi vector<int> #define vvi vector<vector<int>> #define vl vector<ll> #define vvl vector<vector<ll>> #define vb vector<bool> #define vvb vector<vector<bool>> #define vs vector<string> #define vc vector<char> #define vvc vector<vector<char>> #define Print(p) cout<<(p)<<endl #define F first #define S second #define pb push_back #define mod 1000000007LL #define INF 1234567890123 typedef pair<ll, ll> P; //initialization here // const int maxn = 1e5+10; vi v[55]; //int d[15]; string y[10]; // //initialization finish // your function is here // // // your function finished int main() { cin.tie(0); ios::sync_with_stdio(false); // your code is here // int k, n; cin >> k >> n; string w[55]; rep(i, n) { int x; cin >> x >> w[i]; while (x) { int tmp = x % 10-1; v[i].pb(tmp); x /= 10; } reverse(all(v[i])); } ll count = 0; rep(i, pow(3, k)) //文字の長さ全て試す { count++; int para = i; int cnt = 0; int d[15]; rep(j, k) d[j] = 1; while(para) { d[cnt] = para % 3 + 1; para /= 3; cnt++; } rep(l,k)y[l] = ""; bool ok = true; int start; rep(j, n) { start = 0; for (auto u : v[j]) { if (start+d[u] > w[j].size()) { ok = false; break; } if (y[u] == "") y[u] = w[j].substr(start, d[u]); else if (y[u] != w[j].substr(start, d[u])) { ok = false; break; } start += d[u]; } if (!ok) break; if (start != w[j].size()) { ok = false; break; } } if (ok) break; } rep(i, k) Print(y[i]); // // your code finished return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 語呂合わせ |
User | sawakee |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2579 Byte |
Status | AC |
Exec Time | 14 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 | 9 ms | 256 KB |
subtask2-05.txt | AC | 9 ms | 256 KB |
subtask2-06.txt | AC | 4 ms | 256 KB |
subtask2-07.txt | AC | 13 ms | 256 KB |
subtask2-08.txt | AC | 2 ms | 256 KB |
subtask2-09.txt | AC | 14 ms | 256 KB |
subtask2-10.txt | AC | 12 ms | 256 KB |
subtask2-11.txt | AC | 11 ms | 256 KB |
subtask2-12.txt | AC | 6 ms | 256 KB |
subtask2-13.txt | AC | 9 ms | 256 KB |
subtask2-14.txt | AC | 9 ms | 256 KB |
subtask2-15.txt | AC | 7 ms | 256 KB |
subtask2-16.txt | AC | 3 ms | 256 KB |
subtask2-17.txt | AC | 1 ms | 256 KB |
subtask2-18.txt | AC | 11 ms | 256 KB |
subtask2-19.txt | AC | 10 ms | 256 KB |
subtask2-20.txt | AC | 10 ms | 256 KB |