• NYOJ349 Sorting It All Out


     1 #include<stdio.h>
     2 #include<string.h> 
     3 bool map[30][30];
     4 int in[30],sort[30];
     5 int n,m,t;
     6 bool f1,f2;
     7 void solve(){
     8     int i,j,k,loc;
     9     int temp[30];
    10     bool f=0;
    11     for(i=0;i<n;i++)
    12         temp[i]=in[i];
    13     for(t=i=0;i<n;i++){
    14         for(k=j=0;j<n;j++)
    15             if(!temp[j]){
    16                 k++;
    17                 loc=j;
    18             }
    19         if(k==0){
    20             f2=1;
    21             return;
    22         }
    23         if(k>1) f=1;
    24         sort[t++]=loc;
    25         temp[loc]=-1;
    26         for(j=0;j<n;j++)
    27             if(map[loc][j])
    28                 temp[j]--;
    29         
    30     }
    31     if(!f) f1=1;
    32 }
    33 int main()
    34 {
    35     int i,p;
    36     char a,b;
    37     while(scanf("%d%d",&n,&m),n||m){
    38         memset(map,0,sizeof(map));
    39         memset(in,0,sizeof(in));
    40         for(f1=f2=t=i=0;i<m;i++){
    41             scanf("%*c%c<%c",&a,&b);
    42             if(!f1&&!f2){
    43                 map[a-'A'][b-'A']=1;
    44                 in[b-'A']++;
    45                 solve();
    46                 p=i+1;
    47             }
    48         }
    49         if(f1){
    50             printf("Sorted sequence determined after %d relations: ",p);
    51             for(i=0;i<t;i++)
    52                 printf("%c",sort[i]+'A');
    53             puts(".");
    54         }else if(f2){
    55             printf("Inconsistency found after %d relations.\n",p);
    56             
    57         }else puts("Sorted sequence cannot be determined.");
    58     }
    59     return 0;
    //一道典型的拓扑排序的题目,纠结了好长时间!!
  • 相关阅读:
    Spring框架(二)
    Spring概况(一)
    唉 规整规整 进阶目录
    网络编程 -- RPC实现原理 -- 目录
    基础大杂烩 -- 目录
    艺多不压身 -- 目录
    延伸 -- 分类 -- 目录
    Eclipse 快捷键
    全局
    深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎
  • 原文地址:https://www.cnblogs.com/shihuajie/p/3043683.html
Copyright © 2020-2023  润新知