トピックはこれです:
奇妙なキーボード
制限時間:1秒 メモリ制限:128メガバイトを送信:122 解決:24
[ 送信 ] [ ステータス ] [ フォーラム ]
説明
最近、科学者たちは、夜遅くに報告しますが、2つの文字、時には唯一の外にキーボードをタップし、時には、キーボードに一連の問題を非難していない論文に書きます。キーボードのバックスペースキーが壊れているに発生します。
あなたは彼が元に戻ったようである記事を、果たした、稀代のある科学者があることを知っている。
科学者たちは、文字列の満足度は、文字列は、このの排除に同じ2つの隣接する文字を持っている場合は、ようなものです2つの文字は、新しい文字列と隣接する同じ場合は、新しい文字列を形成し、その後、削除します。同じまでは隣接する二つの文字今のところありません。
入力
文字列の長さは、小文字の文字を含む、2 * 10 ^ 5より大きくありません
出力
科学者たちは、文字列に満足しています。
サンプル入力
reallazy
サンプル出力
カット
ヒント
サンプル文字列のような変更については、reallazy - > reaazy - > rezy。
////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////
今日の学生それらが0.0にこのトピックについて質問しました。
それがスタックをプッシュを再生する問題であると考えて、スタックは23333の上に記述します
(問題を読んで、たった2つの同一の文字隣接する場合があることに注意してくださいは、あまりにも多くの233 333とは思いません)
コードは以下の通りであります:
C:
1の#include <stdio.hの> 2 3 の#define MAX 200001 4 5 構造体スタック{ 6 チャーSZ [MAX]。 7 長いインデックス。 8 } S。 9 10 のint main()の 11 { 12 S.index = 0 。 13 チャー IP = 0 。 14 一方(EOF =のscanf(!" %のC "、およびIP)) 15 { 16 であれば(IP = S.sz [S.index! - 1 ]) 17 S.sz [S.index ++] = IP。 18 他 19 S.index-- 。 20 } 21 のために(INTは iは= 0 ; I <S.index; I ++ ) 22 { 23 のputchar(S.sz [I])。 24 } 25 リターン 0 。 26 }
C ++:
1の#include <iostreamの> 2の#include <両端キュー> 3 4 使用して 名前空間STDを、 5 6 INT メイン() 7 { 8つの IOS :: sync_with_stdio(偽)。 9 両端キュー< チャー > D。 10 文字のIP; 11 一方(CIN >> IP) 12 { 13 であれば(d.size()&& IP == d.back()) 14 d.pop_back()。 15 他 16 d.push_back(IP)。 17 } 18 ながら(d.size()) 19 { 20 COUT << d.front()。 21 d.pop_front()。 22 } 23 リターン 0 。 24 }
Javaの:
1つの インポートjava.util.Scanner。 2 3 パブリック クラスメイン{ 4 パブリック 静的 ボイドメイン(文字列[]引数){ 5 INT A = 0 。 6 スキャナSC = 新しいスキャナ(System.in)。 7 のchar [] SZ = 新しい 文字 [200001 ]。 8 int型のインデックス= 0 。 9 INT iが= 0 ; 10 文字列str。 11 一方(sc.hasNext()) 12 { 13 STR = sc.next()。 14 一方(指数< str.length()) 15 { 16 であれば(I> 0 && str.charAt(インデックス)== SZ [I - 1 ]) 17 { 18 i-- 。 19 } 20 他の 21 { 22 SZ [I ++] = str.charAt(インデックス) 23 } 24 インデックス++ 。 25 } 26 のための(int型 J = 0; J <I、J ++) 27 { 28 System.out.print(SZ [J])。 29 } 30 i = 0 ; 31 インデックス= 0 。 32 } 33 } 34 }
隋Suinian:一度だけWAのうちに実行されます場合は、Javaだけで、65,534文字を処理することができます。。。。。