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 |
Re:Why Runtime Error?(C++)In Reply To:Why Runtime Error?(C++) Posted by:shiming413 at 2005-10-26 16:37:28 #include<stdio.h> int s[26][26]; int m, n; char ch[26]; int top_sort(){ int i,j,k,c,g=0,t[26]; char o; for(i=0;i<n;i++)t[i]=0; for(k=0;k<n;k++){ c=0; for(i=0;i<n;i++)if(t[i]==0){ for(j=0;j<n;j++)if(t[j]==0&&s[j][i]==1)break; if(j==n){o=char('A'+i);c++;} } t[o-'A']=1; if(c==0)return 1; if(c==1){ch[g++]=o;if(g==n)return 2;} if(c>1)break; } for(i=0;i<n;i++)t[i]=0; for(k=0;k<n;k++){ c=0; for(i=0;i<n;i++)if(t[i]==0){ for(j=0;j<n;j++)if(t[j]==0&&s[j][i]==1)break; if(j==n){o=char('A'+i);c++;} } t[o-'A']=1; if(c==0)return 1; } return 0; } void Sort(){ int i,j,k; char str[1000][3],com[5],a,b; for(i=0;i<n;i++) for(j=0;j<n;j++)s[i][j]=0; for(k=0;k<m;k++){ //scanf("%s",str[k]); scanf("%s",com); // char a,b; sscanf(com,"%c<%c",&a,&b); // s[str[k][0]-'A'][str[k][2]-'A']=1; s[a-'A'][b-'A']=1; j=top_sort(); if(j!=0){i=k+1;goto loop;} } loop:for(k++;k<m;k++)scanf("%s"); if(j==0)printf("Sorted sequence cannot be determined.\n"); if(j==1)printf("Inconsistency found after %d relations.\n",i); if(j==2) { printf("Sorted sequence determined after %d relations: ",i); for(i=0;i<n;i++)printf("%c",ch[i]); printf(".\n"); } } int main(){ scanf("%d",&n); scanf("%d",&m); while(m*n!=0){ Sort(); scanf("%d",&n); scanf("%d",&m); } return 1; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator