傳紙條

傳紙條

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

傳紙條是一種在課堂上傳遞信息的老方法,雖然現在手機短信和QQ聊天越來越普及,但是手寫的信息會讓人感到一種親切感。對許多學生而言,在學校裏傳遞一些私祕性的信息是一種令人興奮的打發時光的方式,特別是在一些令人厭煩的課堂上。

 

XX 和 YY 經常在自習課的時候傳紙條來傳遞一些私密性的信息。但是他們的座位相隔比較遠,傳紙條要通過其他人才能到達對方。在傳遞過程中,難免會有一些好奇心比較強的同學偷看紙條的內容。所以他們想到了一個辦法,對紙條內容進行加密。

加密規則很簡單:多次在信息的任意位置隨意的添加兩個相同的字母。

由於使用英文交流顯得比較高端,所以他們的紙條內容只有英文。

現在給你加密後的信息,請你還原出原始的內容。

Input

 

輸入數據的第一行爲一個正整數 T(T ≤ 30),表示共有 T 組測試數據。

接下來 T 行,每行爲一個字符串,字符串僅包含小寫英文字母,且保證原始字符串中不包含相鄰兩個相同的字母,字符串長度不超過200000。

Output

 

每組數據輸出一行字符串,表示還原後的內容。

Sample Input

1
ssilofaafveuuu

Sample Output

iloveu

Hint

樣例解釋:

刪除掉aa後,又出現了ff,ff也要刪除掉。

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    while(n--)
    {
        char str[200001];
        char stk[200001];
        scanf("%s",str);
        int cnt = 0;
        stk[cnt++] = str[0];
        for(int i = 1; i < strlen(str); i++)
        {
            if(str[i] == stk[cnt-1])
            {
                cnt--;
            }
            else
            {
                stk[cnt++] = str[i];
            }
        }
        stk[cnt] = '\0';
        printf("%s\n",stk);
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章