Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

哪位高手帮我看看为什么我的程序提交后总是runtime,在VC或MGW下都是正确的

Posted by kmmsid at 2007-08-11 10:14:55
#include<iostream>
//#include<fstream>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
int main(int argc, char* argv[]){
	int n;
	//ifstream in("3337.txt");
	cin>>n;
	while(n--){
		string s;
		vector<int> v1,value;
		vector<char> v2,v;
		cin>>s;
		cout<<"Expression: "<<s<<endl;
		for(int i=0;i<s.length()-1;i++){
			if(s[i]=='+'&&s[i+1]=='+'){
				s[i]='&';s[i+1]='&';
				if(s[i+2]>='a'&&s[i+2]<='z'){
					s[i+2]=s[i+2]+1;
					s[i]='#';s[i+1]='#';
				}
			}
			if(s[i]=='-'&&s[i+1]=='-'){
				s[i]='*';s[i+1]='*';
				if(s[i+2]>='a'&&s[i+2]<='z'){
					s[i+2]=s[i+2]-1;
					s[i]='%';s[i+1]='%';
				}
			}
		}
		for(i=0;i<s.length();i++){
			if(s[i]!='#'&&s[i]!='%'&&s[i]!='&'&&s[i]!='*'){
				if(s[i]>='`'&&s[i]<='{')
					v1.push_back(s[i]-'`');
				else
					v2.push_back(s[i]);
			}
		}
		reverse(v1.begin(),v1.end());
		reverse(v2.begin(),v2.end());
		while(!v2.empty()){
			int j=v1.size()-1;
			if(v2[v2.size()-1]=='+'){
				int t=v1[j]+v1[j-1];
				v1.pop_back(),v1.pop_back();v2.pop_back();
				v1.push_back(t);
			}
			else{
				int t=v1[j]-v1[j-1];
				v1.pop_back(),v1.pop_back();v2.pop_back();
				v1.push_back(t);
			}
			j--;
		}
		cout<<"value = "<<v1[0]<<endl;
		for(i=0;i<s.length();i++){
			if(s[i]=='#'&&s[i+2]>='a'&&s[i+2]<='{'){
				v.push_back(s[i+2]-1);value.push_back(s[i+2]-'`');
			}
			if(s[i]=='%'&&s[i+2]>='`'&&s[i+2]<='z'){
				v.push_back((char)(s[i+2]+1));value.push_back(s[i+2]-'`');
			}
			if(s[i]=='&'&&s[i-1]>='a'&&s[i-1]<='z'){
				v.push_back(s[i-1]);value.push_back(s[i-1]-'`'+1);
			}
			if(s[i]=='*'&&s[i-1]>='a'&&s[i-1]<='z'){
				v.push_back(s[i-1]);value.push_back(s[i-1]-'`'-1);
			}
			if(i>0&&i<=s.length()-3){
				if((s[i-1]=='+'||s[i-1]=='-')&&(s[i+1]=='+'||s[i+1]=='-')){
					v.push_back(s[i]);value.push_back(s[i]-'`');
			    }
			}
			if(i==0&&(s[i+1]=='+'||s[i+1]=='-')){
				v.push_back(s[0]);value.push_back(s[0]-'`');
			}
			if(i==(int)s.length()-2&&(s[i]=='+'||s[i]=='-')){
				v.push_back(s[i+1]);value.push_back(s[i+1]-'`');
			}
		}
		int change=1;
		for(i=v.size()-1;i>=0&&change;i--){
			change=1;
			for(int j=0;j<i;j++){
				if((v[j]-'`')>(v[j+1]-'`')){
					char temp=v[j];v[j]=v[j+1];v[j+1]=temp;
					int t=value[j];value[j]=value[j+1];value[j+1]=t;
					change=1;
				}
			}
	    }
		for(i=0;i<v.size();i++){
			cout<<v[i]<<" = "<<value[i]<<endl;
		}
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator