Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
这叫用ansistring超时的pascal党情何以堪啊……In Reply To:大家速度来围观,cin+stl string=960MS。。。。。贴代码,这个效率我不说了 Posted by:yzhw at 2010-08-22 14:00:32 > Source Code > > Problem: 1635 User: yzhw > Memory: 824K Time: 969MS > Language: G++ Result: Accepted > > Source Code > # include <iostream> > using namespace std; > # include <string> > # include <vector> > # include <algorithm> > void deal(string &pos,int s,int e) > { > if(s>e) return; > else > { > int c1=0,ts=s; > vector<string> tmp; > for(int i=s;i<=e;i++) > { > if(pos[i]=='1') > c1--; > else > c1++; > if(!c1) > { > deal(pos,ts+1,i-1); > tmp.push_back(pos.substr(ts,i-ts+1)); > ts=i+1; > } > } > sort(tmp.begin(),tmp.end()); > string ans=pos.substr(0,s); > for(int i=0;i<tmp.size();i++) > ans+=tmp[i]; > ans+=pos.substr(e+1,pos.length()-e-1); > pos=ans; > } > } > int main() > { > // freopen("e.in","r",stdin); > // freopen("ans.txt","w",stdout); > int testcase; > cin>>testcase; > while(testcase--) > { > string a,b; > cin>>a>>b; > if(a.length()!=b.length()) > { > cout<<"different"<<endl; > continue; > } > deal(a,0,a.length()-1); > deal(b,0,b.length()-1); > if(a==b) > cout<<"same"<<endl; > else > cout<<"different"<<endl; > } > return 0; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator