HDU 1062(スタック実装)

スタックとスタックのアプリケーション
のトピックのリンク:http://acm.hdu.edu.cn/showproblem.php?pid=1062
フリップ文字列。

サンプル入力:
3
!olleh dlrow
M'I MORFは.udh
I ekil .mca
:サンプル出力
のHello World!を
私はHDUからだ。
ACMのようなI。

アイデア:
キャラクターはそれをプリントアウトする前に、スペースと行を読んだことは、スタックに格納する必要があり、スタックにプッシュされ、スペースや行を読んでいません。

#include<bits/stdc++.h>  
#include<stack>
using namespace std;
int main(){
	 int n;
	 char ch;
	 cin>>n;
	 getchar();
	 while(n--){
	  	stack<char>s;		//定义栈
	 	 while(1){
	  	 ch=getchar();		//一次读入一个字符
	   	 if(ch == ' '||ch =='\n'){
	   	 while(!s.empty()){	//检查栈是否为空
	     		cout<<s.top(); //输出栈顶;
	    		 s.pop();  //清除栈顶; 出栈是必须进行两步操作,先top再pop
	   	 }
	    	if(ch=='\n')
	   	 break;
	   	 cout<<" "; 
	  }
	   else
	    s.push(ch);   //放入栈顶; 
	  }
	  cout<<endl; 
 	}
	 return 0;
}
公開された21元の記事 ウォン称賛41 ビュー1037

おすすめ

転載: blog.csdn.net/weixin_45895026/article/details/103949269