zoukankan      html  css  js  c++  java
  • CF510C Fox And Names——拓扑排序练习

    省委代码:

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<cmath>
    #include<iostream>
    #include<algorithm>
    #define maxn 100
    #define maxm 10000
    
    using namespace std;
    
    struct edge{
        int next,to;
    }e[maxm];
    
    int point[maxn],cnt;
    int l,r,q[maxn],in[maxn];
    char s[110][110];
    
    void addedge(int x,int y)
    {
    	 e[++cnt].next=point[x];
    	 e[cnt].to=y;
    	 point[x]=cnt;
    }
    
    void toposort()
    {
        l=r=0;
        for(int i=0;i<26;i++)
            if(in[i]==0)
                q[++r]=i;
        while(l<r)
        {
            int x=q[++l];
            for(int i=point[x];i;i=e[i].next)
            {
                int y=e[i].to;
                in[y]--;
                if(in[y]==0)
                    q[++r]=y;
            }
        }
    }
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%s",s[i]);
        for(int i=1;i<n;i++)
        {
            int len1=strlen(s[i]);
            int len2=strlen(s[i+1]);
            bool flag=0;
            for(int j=0;j<min(len1,len2);j++)
                if(s[i][j]==s[i+1][j])
                    continue;
                else
                {
                    flag=1;
                    in[s[i+1][j]-'a']++;
                    addedge(s[i][j]-'a',s[i+1][j]-'a');
                    break;
                }
            if(flag==0 && len2<len1)
            {
              	printf("Impossible");
              	return 0;
            }
        }
        toposort();
        if(l<26)
        	  printf("Impossible");
        else
            for(int i=1;i<=26;i++)
                printf("%c",q[i]+'a');
        return 0;
    }
    
  • 相关阅读:
    四月书籍
    iOS 第三方登录之 QQ登录
    百度面试经验之谈 ----------转
    OC浅析一
    书目列表
    UIStroryboard分类
    ios基础笔记(一)
    IOS笔记-代码块(微博项目)-1.0
    IOS控件内容 对齐方式
    android同一个TextView设置不同颜色字体
  • 原文地址:https://www.cnblogs.com/ShineEternal/p/11221382.html
Copyright © 2011-2022 走看看