zoukankan      html  css  js  c++  java
  • M

    跟N题是一样的,不过会爆栈,有两种解决办法,第一种加
    #pragma comment(linker, "/STACK:102400000,102400000")
    这一行代码,不过只能用c++提交,第二种自己写个栈
    /////////////////////////////////////
    #pragma comment(linker, "/STACK:102400000,102400000")
    #include<iostream>
    #include<algorithm>
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<queue>
    using namespace std;

    const int maxn = 100005;

    int f[maxn], use[maxn];

    void Init()
    {
        for(int i=0; i<maxn; i++)
            f[i] = i, use[i] = 0;
    }
    int Find(int x)
    {
        if(f[x] != x)
            f[x] = Find(f[x]);
        return f[x];
    }

    int main()
    {
        int u, v, ok=1;

        Init();
        while(scanf("%d%d", &u, &v), u!= -1 || v!=-1)
        {
            if(u+v == 0)
            {
                int sum = 0;

                for(int i=0; i<maxn; i++)
                {
                    if(use[i] == 1 && f[i] == i)
                        sum++;
                }

                if(ok && sum < 2)printf("Yes ");
                else printf("No ");

                ok = 1;
                Init();
            }
            else
            {
                use[u] = use[v] = 1;
                
                u = Find(u);
                v = Find(v);
                
                if(u != v)
                    f[u] = v;
                else ok = 0;
            }
        }

        return 0;

    } 

  • 相关阅读:
    expect script
    2011年11月28日,29日学习内容总结
    2011年11月27日学习内容总结
    Toad使用(转)
    2011年11月30日学习总结
    2011年11月24日学习内容总结
    2010年11月23日学习内容总结
    Toad Can't initialize OCI. Error 1解决办法
    2011年11月25日学习内容总结
    2011年12月1日学习内容总结
  • 原文地址:https://www.cnblogs.com/liuxin13/p/4670133.html
Copyright © 2011-2022 走看看