• HDU


    有向图是否具有欧拉通路或回路的判定:

    欧拉通路:图连通;除2个端点外其余节点入度=出度;1个端点入度比出度大1;一个端点入度比出度小1 或 所有节点入度等于出度

    欧拉回路:图连通;所有节点入度等于出度

    #include<stdio.h>
    #include<string.h>
    #define MAX 27
    int in[MAX],out[MAX];
    int visit[MAX],father[MAX];
    int find(int index)
    {
        if(index==father[index]) return index;
        else return find(father[index]);
    }
    int main(void)
    {
        int t,n;
        int i,j;
        int s,e;
        char str[1001];
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            memset(visit,0,sizeof(visit));
            memset(in,0,sizeof(in));
            memset(out,0,sizeof(out));
            for(i=0;i<MAX;i++) father[i]=i;
    
            for(i=0;i<n;i++){
                scanf("%s",str);
                int len=strlen(str);
                s=str[0]-'a',e=str[len-1]-'a';
                father[s]=father[e]=find(s);
                visit[s]=visit[e]=1;
                out[s]++;in[e]++;
            }
            //判断改图是否连通
            int r=0;
            for(i=0;i<MAX;i++){
                if(visit[i]&&i==father[i]) r++;
            }
            if(r>1){ //aba abc
                printf("The door cannot be opened.
    "); continue;
            }
    
            int x,y,z,h;
            x=y=z=h=0;
            for(i=0;i<MAX;i++){
                if(visit[i]){
                    if(out[i]-in[i]==1==1) x++;
                    else if(in[i]-out[i]==1)y++;
                    else if(in[i]==out[i]) z++;
                    else h++;
                }
            }
            if(h==0&&((x==1&&y==1)||(x==0||y==0))) printf("Ordering is possible.
    ");
            else printf("The door cannot be opened.
    ");
    
        }
        return 0;
    }
  • 相关阅读:
    Storm中的定时任务
    Storm的acker确认机制
    ORACLE数据库表解锁record is locked by another user
    Java生成某段时间内的随机时间
    Linux中断概述
    Linux内核同步:RCU
    Linux内核同步:自旋锁
    Linux软中断、tasklet和工作队列
    Linux信号机制
    缺页异常处理
  • 原文地址:https://www.cnblogs.com/woshijishu3/p/3849813.html
Copyright © 2020-2023  润新知