zoukankan      html  css  js  c++  java
  • hdu 1689 求奇环bfs关键是层次图

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<queue>
    using namespace std;
    #define inf 0x3fffffff
    #define N 1100
    #define NN 21000
    struct node {
    int u,v,next;
    }bian[NN*2];
    int head[N],yong;
    void init() {
    memset(head,-1,sizeof(head));
    yong=0;
    }
    void addedge(int u,int v) {
    bian[yong].u=u;
    bian[yong].v=v;
    bian[yong].next=head[u];
    head[u]=yong++;
    }
    struct enode{
    int step,u;
    };
    int vis[N][2];
    int n;
    int bfs(int u) {
      int i;
      enode kk,cur,next;
      kk.u=u;
      kk.step=0;
      memset(vis,0,sizeof(vis));
      queue<enode>q;
      vis[u][0]=1;//刚开始时偶数
      q.push(kk);
      while(!q.empty()) {
        cur=q.front();
        q.pop();
        if(cur.step>=3) {
            if(cur.step%2==1&&cur.u==u)//最后是奇数
                return cur.step;
        }
       for(i=head[cur.u];i!=-1;i=bian[i].next) {
           int v=bian[i].v;
           next.u=v;
           next.step=cur.step+1;
        if(!vis[v][next.step%2]) {//标记一个点的奇偶是否出现过
            vis[v][next.step%2]=1;
            q.push(next);
        }
       }
      }
      return inf;
    }
    int main(){
        int n,m,i,k,t,u,v,minn,kk=0;
        scanf("%d",&t);
        while(t--) {
            scanf("%d%d",&n,&m);
       init();
            for(i=1;i<=m;i++) {
                scanf("%d%d",&u,&v);
               addedge(u,v);addedge(v,u);
            }
            minn=inf;
            for(i=1;i<=n;i++) {
                k=bfs(i);
                if(minn>k)
                    minn=k;
                    if(minn==3)break;
            }
            if(minn==inf)
                printf("Case %d: Poor JYY.
    ",++kk);
            else
            printf("Case %d: JYY has to use %d balls.
    ",++kk,minn);
        }
    return 0;}
    

  • 相关阅读:
    shiro权限框架-鉴权
    shiro权限框架-入门基础
    linux debian,ubuntu WEB API 测试工具 insomnia
    java spring 用户等级乘阶算法
    pearadmin 开源后台
    一语中的 快速了解ClickHouse
    mysql tree树结构
    MySQL 索引优化 btree hash rtree
    中断与异常详解(五)
    中断与异常(四)
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410541.html
Copyright © 2011-2022 走看看