【CodeForces 1251A --- Broken Keyboard 】

Description

Recently Polycarp noticed that some of the buttons of his keyboard are malfunctioning. For simplicity, we assume that Polycarp’s keyboard contains 26 buttons (one for each letter of the Latin alphabet). Each button is either working fine or malfunctioning.

To check which buttons need replacement, Polycarp pressed some buttons in sequence, and a string s appeared on the screen. When Polycarp presses a button with character c, one of the following events happened:

if the button was working correctly, a character c appeared at the end of the string Polycarp was typing;
if the button was malfunctioning, two characters c appeared at the end of the string.
For example, suppose the buttons corresponding to characters a and c are working correctly, and the button corresponding to b is malfunctioning. If Polycarp presses the buttons in the order a, b, a, c, a, b, a, then the string he is typing changes as follows: a → abb → abba → abbac → abbaca → abbacabb → abbacabba.

You are given a string s which appeared on the screen after Polycarp pressed some buttons. Help Polycarp to determine which buttons are working correctly for sure (that is, this string could not appear on the screen if any of these buttons was malfunctioning).

You may assume that the buttons don’t start malfunctioning when Polycarp types the string: each button either works correctly throughout the whole process, or malfunctions throughout the whole process.

Input

The first line contains one integer t (1≤t≤100) — the number of test cases in the input.

Then the test cases follow. Each test case is represented by one line containing a string s consisting of no less than 1 and no more than 500 lowercase Latin letters.

Output

For each test case, print one line containing a string res. The string res should contain all characters which correspond to buttons that work correctly in alphabetical order, without any separators or repetitions. If all buttons may malfunction, res should be empty.

Sample Input

4
a
zzaaz
ccff
cbddbb

Sample Output

a
z

bc

解体思路:坏的按键会出现2次,好的按键出现1次,一开始想的是只要统计字母的所有出现次数,如果是奇数那么就是好的按键,仔细一想发现是错的,如果出现asssaaa,那么就会出错,那么应该统计的是连续的一段相同字母的个数,如果是奇数则是正确的。

AC代码:

#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main()
{
string str;
int n;
int num[];
cin>>n;
while(n--)
{
int cnt=;
memset(num,,sizeof num);
cin>>str;
for(int i=;i<=str.length();i++)
{
if(str[i]==str[i-])
cnt++;
else
{
if(cnt%==)
num[str[i-]-'a']=;
cnt=;
}
}
for(int i=;i<;i++)
{
if(num[i]==)
cout<<char(i+'a');
}
cout<<endl;
}
return ;
}

最新文章

  1. .NET事件监听机制的局限与扩展
  2. rabbitmq消息队列——&quot;topic型交换器&quot;
  3. {Reship}{ListView}C# ListView用法详解
  4. 【转】 全世界最短的IE判定
  5. 如何使用mybatis《二》
  6. zjuoj 3609 Modular Inverse
  7. Permission Lists Assigned to a User
  8. [转]Java远程方法调用
  9. 基于visual Studio2013解决C语言竞赛题之1077大数相加
  10. HTMLTestRunner测试报告中文乱码问题解决
  11. js ++i和i++的区别
  12. sqoop的安装
  13. .NET Core Community 第三个千星项目诞生:爬虫 DotnetSpider
  14. 【MongoDB学习-在.NET中的简单操作】
  15. POJ 3537 multi-sg 暴力求SG
  16. linux 101 hacks 7crontab
  17. 关于React setState的实现原理(一)
  18. django系列3.3--view视图函数, render, reverse(未完待续)
  19. PHP使用Redis消息队列
  20. dubbo zookeeper报错failed to connect to server , error message is:No route to host

热门文章

  1. 2019HDU多校第四场 Just an Old Puzzle ——八数码有解条件
  2. tomcat——web.xml
  3. trie上构建后缀数组
  4. 【极大化剪枝】Power Hungry Cows-C++【没有用A*!】【超级简单!】
  5. sql时间加减
  6. js的数组在内存中是如何存储的
  7. Codeforces Round #571 (Div. 2)
  8. 《剑指offer》数组中只出现一次的数字
  9. CSPS模拟69-72
  10. .netcore signalR 实时消息推送