Submission #2386045


Source Code Expand

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(n);++i)
#define ALL(A) A.begin(), A.end()

using namespace std;

typedef long long ll;
typedef pair<int, int> P;

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int K, N; cin >> K >> N;
	vector<string> v(N), w(N);
	rep (i, N){
		cin >> v[i] >> w[i];
	} // end rep

	map<int,string> ans;
	for (int i = 0; i < pow(3,K); ++i){
		vector<int> sn(K + 1, 0);
		int d = i;
		rep (j, K){
			if (d % 3 == 0){
				sn[j+1] = 1;
			}else
			if (d % 3 == 1){
				sn[j+1] = 2;
			}else{ // if (d % 3 == 2)
				sn[j+1] = 3;
			} // end if
			d /= 3;
		} // end rep

		bool match = true;
		rep (j, N){
			int curr = 0;
			rep (k, (int)v[j].length()){
				curr += sn[(int)(v[j][k] - '0')];
			} // end rep
			if (curr != w[j].length()){
				match = false;
				break;
			} // end if
		} // end rep
		if (!match) continue;
		ans.clear();
		rep (j, N){
			int len = 0;
			rep (k, (int)v[j].length()){
				int curr = (int)(v[j][k] - '0');
				string cand = w[j].substr(len, sn[(int)(v[j][k] - '0')]);
				len += sn[(int)(v[j][k] - '0')];
				if (!ans.count(curr)){
					ans[curr] = cand;
				}else{
					if (ans[curr] != cand){
						match = false;
						break;
					} // end if
				} // end if
			} // end rep
			if (!match) break;
		} // end rep

		if (!match) continue;
		break;
	} // end while

	map<int,string>::iterator it = ans.begin();
	for (; it != ans.end(); ++it){
		int i = (*it).first;
		string s = (*it).second;
		cout << s << endl;
//		cerr << i << ":" << s << endl;
	} // end for
	
	return 0;
}

Submission Info

Submission Time
Task D - 語呂合わせ
User ty70
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1635 Byte
Status AC
Exec Time 6 ms
Memory 640 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 3 ms 640 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 3 ms 256 KB
subtask2-02.txt AC 2 ms 256 KB
subtask2-03.txt AC 5 ms 256 KB
subtask2-04.txt AC 4 ms 256 KB
subtask2-05.txt AC 5 ms 256 KB
subtask2-06.txt AC 3 ms 256 KB
subtask2-07.txt AC 5 ms 256 KB
subtask2-08.txt AC 2 ms 256 KB
subtask2-09.txt AC 6 ms 256 KB
subtask2-10.txt AC 5 ms 256 KB
subtask2-11.txt AC 5 ms 256 KB
subtask2-12.txt AC 4 ms 256 KB
subtask2-13.txt AC 6 ms 256 KB
subtask2-14.txt AC 5 ms 256 KB
subtask2-15.txt AC 4 ms 256 KB
subtask2-16.txt AC 2 ms 256 KB
subtask2-17.txt AC 1 ms 256 KB
subtask2-18.txt AC 5 ms 256 KB
subtask2-19.txt AC 5 ms 256 KB
subtask2-20.txt AC 5 ms 256 KB