zoukankan      html  css  js  c++  java
  • 不想兜圈的老爷爷

    http://oj.luogu.org:8888/problemshow.php?pid=1992

    水题,yes和no大小写的问题wa了10分钟没看出来,果然该去睡觉了。。

    问图是否存在环,标号法,dfs把所有点搜一遍,方法见白书P111拓扑排序

    感觉他们这题出的真逗,最后还乱入个快速幂,OTZ

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std ;
    typedef long long ll ;
    ll qpow(ll k)
    {
        ll ans=1,buff=2 ;
        while(k)
        {
            if(k&1)ans=(ans*buff)%9997 ;
            buff=(buff*buff)%9997 ;
            k>>=1 ;
        }
        return ans ;
    }
    typedef struct L{
        int s,t ;
        int nxt ;
    }L ;
    L e[10001] ;
    int vis[1001] ;
    int head[1001] ;
    int cnt ;
    void ins(int s,int t)
    {
        e[cnt].s=s ;
        e[cnt].t=t ;
        e[cnt].nxt=head[s] ;
        head[s]=cnt++ ;
    }
    int n,m ;
    ll k ;
    int dfs(int u)
    {
        vis[u]=-1 ;
        for(int i=head[u] ;i!=-1 ;i=e[i].nxt)
        {
            int v=e[i].t ;
            if(vis[v]<0)
                return 0 ;
            else if(!vis[v] && !dfs(v))
                return 0 ;
        }
        vis[u]=1 ;
        return 1 ;
    }
    int solve()
    {
        for(int u=0 ;u<n ;u++)
            if(!vis[u] && !dfs(u))
                return 0 ;
        return 1 ;
    }
    int main()
    {
        scanf("%d%d%lld",&n,&m,&k) ;
        memset(vis,0,sizeof(vis)) ;
        memset(head,-1,sizeof(head)) ;
        cnt=0 ;
        for(int i=0 ;i<m ;i++)
        {
            int a,b ;
            scanf("%d%d",&a,&b) ;
            ins(a,b) ;
        }
        if(solve())
        {
            puts("Yes") ;
            printf("%I64d
    ",qpow(k)) ;
        }
        else
        {
            puts("No") ;
            printf("%lld
    ",k*k) ;
        }
        return 0  ;
    }
    View Code
  • 相关阅读:
    石墨文档地址
    Emacs
    HDU
    田忌赛马(贪心
    poj 3040 Allowance (贪心
    cr545
    雕塑 ( 离散化,bfs-floodfill
    求m个不相交子段的和(复杂dp
    doing home work(dp-二进制法枚举
    非常可乐(多参数bfs模拟
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/3496301.html
Copyright © 2011-2022 走看看