バベルフィッシュPOJ - 2503

バベルフィッシュPOJ - 2503

あなただけのウォータールーから大都市に移動しました。ここの人々は、外国語の不可解な方言を話します。幸いにも、あなたがそれらを理解するのに役立つ辞書を持っています。

入力

入力は、最大10万語のメッセージに続いて空白行が続き、最大100,000辞書のエントリ、で構成されています。各辞書のエントリは、スペースや外国語の単語に続いて、英語の単語を含む行です。いかなる外国語は一度辞書でより多く表示されません。メッセージは、外国語の単語のシーケンス、各行に1つの単語です。入力中の各単語は、最大で10の小文字のシーケンスです。

出力

出力は、英語に翻訳されたメッセージ、1行につき1つの単語です。外国の言葉は辞書に「えっ」と訳されるべきではありません。

サンプル入力

しかしogday 
猫atcayの
豚igpay 
ストロークootfray 
ループoopslay 

atcay 
ittenkay 
oopslay

サンプル出力


えっ
ループ

ヒント

巨大な入力と出力、scanf関数やprintf関数は推奨されています。
最初の髪のブログ
問題は、どの裁判官が空白行はありませんが、私はそれが困難な入力フォーマットを置くことを見つけることですか?
  私のソリューションは、変更のタイプとして定義されている彼らは、入力文字列の長さを知らないので、バック入力文字列を、それが改行と判断された場合には、文字を入力して、[接続することです
しかし、唯一の文字列入力のcin coutの出力を持つ、とても遅いです
 
書式#include <cstdioを> 
する#include <iostreamの> 
の#include <マップ> 
書式#include <文字列> 
std名前空間を使用しました。
INTメイン()
{ 
	マップ<文字列、文字列> M。
	char型のC; 
	文字列STR1、STR2。
	一方、(!C = GETCHAR()、C = '\ n')
	{ 
		CIN >> 0009 >> STR2。
		STR1 = C + 0009。
		M [化2] = 0009。
		getchar関数(); 
	} 
	一方(CIN >> STR2)
	{ 
		IF(M [化2] = ""!)
  			COUT << M [化2] << ENDL。
  		他の
  			裁判所未満<< "えっ" <<てendl; 
	} 

}

  

おすすめ

転載: www.cnblogs.com/zdw20191029/p/11768778.html