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

## Re:Why Runtime Error?(C++)

Posted by 200830690100 at 2010-03-09 13:53:41 on Problem 2649
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: