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 |
跪求,一样代码poj G++,C++全部ac,然openjudge平台无限wa,求指点//1057 递归,不知为何poj ac然openjudge平台wa #include <iostream> #include <cstring> using namespace std; struct stru { char name[100]; int layer; }file[300]; const char prefix[10]="| "; int countfiles; void showpre(int start,int layer) { for(int i=1;i<=file[start].layer;++i) cout<<prefix; cout<<file[start].name<<endl; char sub[300][100]={'\0'}; char *psub[300]={NULL}; int marker=0; for(int i=start+1;i<=countfiles;++i) { if(file[i].layer<layer || (file[i].layer==layer && file[i].name[0]=='d')) { marker=i-1; break; } if(i==countfiles) marker=countfiles; } for(int i=start+1;i<=marker;++i) { if(file[i].name[0]=='d' && file[i].layer==layer+1) showpre(i,layer+1); } int tempcount=0; for(int i=start+1;i<=marker;++i) { if(file[i].name[0]=='f' && file[i].layer==layer) strcpy(sub[tempcount++],file[i].name); } for(int i=0;i<tempcount;++i) { psub[i]=sub[i]; } for(int i=0;i<tempcount;++i) for(int j=0;j<tempcount-1;++j) if(strcmp(psub[j],psub[j+1])==1) { char *temp=psub[j]; psub[j]=psub[j+1]; psub[j+1]=temp; } for(int i=0;i<tempcount;++i) { for(int j=1;j<=layer;++j) cout<<prefix; cout<<psub[i]<<endl; } } int main() { int countcases=0; while(cin>>file[1].name) { if(!strcmp(file[1].name,"#")) break; else { ++countcases; countfiles=1; file[0].name[0]='R'; file[0].name[1]='O'; file[0].name[2]='O'; file[0].name[3]='T'; file[0].name[4]='\0'; file[0].layer=0; int curlayer=(file[1].name[0]=='d'); file[1].layer=curlayer; while(cin>>file[++countfiles].name) { if(!strcmp(file[countfiles].name,"*")) { --countfiles; break; } else if(file[countfiles].name[0]=='d') ++curlayer; else if(file[countfiles].name[0]==']') { --curlayer; --countfiles; continue; } file[countfiles].layer=curlayer; } if(countcases!=1) cout<<endl; cout<<"DATA SET "<<countcases<<':'<<endl; showpre(0,0); memset(file,0,sizeof(file)); } } return 0; } 代码写的不好见谅。。。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator