Submission #2502258


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
using namespace std;

void solve (set<string> &orders, string header, map<char, vector<int>> &candidates, string &base, int n, int k)
{
	for (auto &candidate : candidates)
	{
		auto &v = candidate.second;

		orders.insert(header + candidate.first);
		if (k <= orders.size()) break;

		map<char, vector<int>> candy;
		for (auto i : v)
		{
			if (i+1 < n) candy[base[i+1]].push_back(i+1);
		}

		solve(orders, header + candidate.first, candy, base, n, k);
	}

	return;
}
int main ()
{
	string s;
	cin >> s;
	int n = s.size();

	int k;
	cin >> k;

	map<char, vector<int>> candidates;
	for (int i=0; i<n; ++i)
	{
		candidates[s[i]].push_back(i);
	}
	set<string> orders;

	solve(orders, "", candidates, s, n, k);

	for (auto sub : orders)
	{
		if (0 == --k)
		{
			cout << sub << endl;
			break;
		}
	}

	
	return 0;
}

Submission Info

Submission Time
Task C - K-th Substring
User ACCUP
Language C++14 (GCC 5.4.1)
Score 300
Code Size 977 Byte
Status AC
Exec Time 2 ms
Memory 384 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 200 / 200 100 / 100
Status
AC × 3
AC × 11
AC × 19
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
Subtask 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 2_011.txt, 2_012.txt, 2_013.txt, 2_014.txt, 2_015.txt, 2_016.txt, 2_017.txt, 2_018.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
0_002.txt AC 1 ms 256 KB
1_003.txt AC 1 ms 256 KB
1_004.txt AC 1 ms 256 KB
1_005.txt AC 1 ms 256 KB
1_006.txt AC 1 ms 256 KB
1_007.txt AC 1 ms 256 KB
1_008.txt AC 1 ms 256 KB
1_009.txt AC 1 ms 256 KB
1_010.txt AC 1 ms 256 KB
2_011.txt AC 2 ms 384 KB
2_012.txt AC 1 ms 384 KB
2_013.txt AC 2 ms 256 KB
2_014.txt AC 2 ms 256 KB
2_015.txt AC 2 ms 256 KB
2_016.txt AC 2 ms 256 KB
2_017.txt AC 2 ms 256 KB
2_018.txt AC 2 ms 256 KB