サンプルを実行すると、データセット数が入力された後に入力が勝手に一つ入る現象が発生。対策としてcin.get()を入れた。
/****************************************************************************************
* 2012/04/29
* AIZU ONLINE JUDGE volume1_0101 *
* AIZU PR *
* HoshinoをHoshinaに置き換えて出力する *
* 英文は1000文字以下 *
* *
* Input *
* 最初にデータセット数nが与えられる。続いてn行の英文が与えられる。 *
* 各データセットは1行に英文が与えられる。英文は半角英数字・記号を含む。 *
* Output *
* 各データセットについて”Hoshino”を”Hoshina”に変換した英文(半角)を1行に出力する。*
*****************************************************************************************/
/***********************************************
****************Time limit:1sec*****************
****************Memory limit:32768KB************
************************************************/
#include<iostream>
#include<string>
int main(){
//入力1 データセット数nを受け取る
int n; //データセット数受け取り用変数
std::cin >> n; std::cin.get();
for(int i=0; i<n; i++){
std::string input; //データセット
std::getline(std::cin, input); //データ入力
int input_size = input.length();//データ長
for(int i=0; i<input_size; i++){
if(input.substr(i,7) == "Hoshino"){
input.replace(i,7,"Hoshina");
}
}
std::cout << input << std::endl;
}
return 0;
}
0 件のコメント:
コメントを投稿