C++基礎題-a271: 彩色蘿蔔

輸入與輸出的優化,程式碼如下

#include<iostream>
#include<sstream>
#include<string>

using namespace std;

int main(){
    int dataNum=0;
    stringstream stream;
	
    string s;
    int temp;
    int poison=0;
    bool isLife=true;
	
    cin>>dataNum;
    s="\n";getline(cin,s);
    for(int i=0;i<dataNum;i++){
	isLife=true;
	int x,y,z,w,n,m;
	
	s="";
	getline(cin,s);
	
	stream.clear();
	stream.str("");
	stream<<s;
	
	
	stream>>x>>y>>z>>w>>n>>m;
	
	s="";
	getline(cin,s);
	if(s!=""){
		
	    poison=0;
	    temp=0;
		
	    stream.clear();
	    stream<<s;
	    while(stream>>temp){
			
		m-=poison*n;
		if(m<=0){
		    isLife=false;
		    break;
		}
			
		if(temp==1){
		    m+=x;
		}else if(temp==2){
		    m+=y;
		}else if(temp==3){
		    m-=z;
		    if(m<=0){
			isLife=false;
			break;
		    }
				
		}else if(temp==4){
		    m-=w;
		    if(m<=0){
			isLife=false;
			break;
		    }
		poison+=1;
		}
			
	    }
	    if(isLife){
		cout<<m<<"g"<<endl;
	    }else{
		cout<<"bye~Rabbit"<<endl;
	    }
	}else{
	    cout<<m<<"g\n";
	}
			
    }
	
    return 0;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *