1112. Stucked Keyboard (20)

#include <iostream>
#include <string.h>
#include <vector>

using namespace std;

int flag[130];

void print(vector<char> v)
{
	int i, size = v.size();
	for(i = 0; i < size; i++)
	{
		printf("%c", v[i]);
	}

	printf("\n");
}

int main()
{
	int k;
	scanf("%d", &k);

	getchar();

	char s[1010];
	gets(s);

	int len = strlen(s), i, j, count;
	char ch;

	for(i = 0; i < len; i++)
	{
		ch = s[i];
		count = 1;
		
		for(j = i + 1; j < len && j < i + k; j++)
		{
			if(ch != s[j])
			{
				break;
			}

			count++;
		}

		if(count == k && flag[ch] >= 0)
		{
			flag[ch] = 1;
		}
		else
		{
			flag[ch] = -1;
		}

		i = j - 1;
	}

	vector<char> v[2];
	for(i = 0; i < len; i++)
	{
		ch = s[i];
		if(flag[ch] == 1)
		{
			v[0].push_back(ch);
			flag[ch] = -2;
		}
		
		if(flag[ch] == -2)
		{
			i += k - 1;
		}

		v[1].push_back(ch);
	}

	for(i = 0; i <= 1; i++)
	{
		print(v[i]);
	}

	system("pause");
	return 0;
}

 

posted on 2025-11-25 09:07  王景迁  阅读(2)  评论(0)    收藏  举报

导航