PKU 1917 Automatic Poetry

http://poj.org/problem?id=1917
文字列処理

サンプルを見ればだいたい何をやって欲しいのか分かると思います。
getline()は改行が残っていると、悲しいことになるので、ignoreで処理しました。

main(){
  int n;
  cin>>n;
  cin.ignore();

  while(n--){
    string str;
    getline(cin,str);

    string ss[4];
    int si=-1;
    rep(i,str.size()){
      if(si==-1 && str[i]!='<' && str[i]!='>'){
	cout<<str[i];
	continue;
      }
      if(str[i]=='<' || str[i]=='>'){
	++si;
	continue;
      }

      cout<<str[i];
      ss[si]+=str[i];
    }
    cout<<endl;
    getline(cin,str);
    int pos=0;
    while(str[pos]!='.')cout<<str[pos++];
    cout<<ss[2]<<ss[1]<<ss[0]<<ss[3]<<endl;
  }
}