zoukankan      html  css  js  c++  java
  • 【郑轻邀请赛 D】hipercijevi

    【题目链接】:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2130

    【题意】

    【题解】

    把那个管泛化成一个点;
    然后把每一个在管里面的点都和它相连;
    然后从起点跑bfs就好;
    最后输出dis[n]/2 +1
    因为是点的数目所以要加1
    然后每个点都要经过一个泛化的点再到其他点;
    所以肯定边的数目是偶数个;
    用了ios::sync_with_stdio(0)之后Puts不能用….

    【Number Of WA

    4

    【完整代码】

    #include <bits/stdc++.h>
    using namespace std;
    #define rep1(i,x,y) for (int i = x;i <= y;i++)
    #define pb push_back
    #define LL long long
    
    struct abc
    {
        int en,nex;
    };
    
    const int N = 1e5+1e3+100;
    int n,k,m,dis[N],tot,fir[N],head,tail;
    int dl[N];
    abc bian[1000000*2+100];
    
    void add(int x,int y)
    {
        tot++;
        bian[tot].nex=fir[x];
        fir[x] = tot;
        bian[tot].en = y;
    }
    
    int main()
    {
        //freopen("D:\rush.txt","r",stdin);
        ios::sync_with_stdio(0);
        int T;
        cin >> T;
        while (T--)
        {
            cin >> n >> k >> m;
            tot = 0;
            rep1(i,1,n+m)
                fir[i] = 0;
            rep1(i,1,m)
            {
                rep1(j,1,k)
                {
                    int x;
                    cin >> x;
                    add(x,n+i);
                    add(n+i,x);
                }
            }
            rep1(i,1,n+m)
                dis[i]=-1;
            dis[1]=0;
            head = 0,tail = 1;
            dl[1] = 1;
            while (head<tail)
            {
                int x = dl[++head];
                for (int i = fir[x];i;i=bian[i].nex)
                {
                    int y = bian[i].en;
                    if (dis[y]==-1)
                    {
                        dis[y] = dis[x]+1;
                        dl[++tail]=y;
                    }
                }
            }
            if (dis[n]==-1)
                cout << -1 << endl;
            else
                cout << dis[n]/2 + 1<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    c# 之 事务
    Asp.Net 之 js/jquery获取服务器端控件
    产品能力框架图
    软件测试职业发展规划图
    Loadrunner 工作原理图
    Linux内核性能测试工具全景图
    Linux 性能监控分析
    软件藏宝图
    Haproxy 8种算法+Session共享
    Keepalived+Haproxy实现高可用负载均衡
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626417.html
Copyright © 2011-2022 走看看