博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
M - 小希的迷宫
阅读量:4459 次
发布时间:2019-06-08

本文共 897 字,大约阅读时间需要 2 分钟。

跟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\n
");
            
else printf(
"
No\n
");
            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;

} 

转载于:https://www.cnblogs.com/liuxin13/p/4670133.html

你可能感兴趣的文章
HDU 3535 AreYouBusy(综合背包)
查看>>
windows10安装anaconda,配置tensorflow
查看>>
C#与C/C++的交互
查看>>
访问修饰符和非访问修饰符
查看>>
Sql中Convert日期格式
查看>>
android 数据存储之SharedPreferences
查看>>
mysql名词解释
查看>>
Tomcat数据库连接池配置
查看>>
Shell之while循环
查看>>
Hadoop之为何不使用RAID?
查看>>
nodejs开发指南demo
查看>>
对路网数据连通性处理
查看>>
Markdown小记
查看>>
把秒数转换成时分秒格式输出
查看>>
Python第七天
查看>>
苹果开发者帐号(Company)申请流程
查看>>
ubuntu18.04完全卸载mysql的命令
查看>>
hdu (2617) Happy 2009
查看>>
Mybatis(5)——动态SQL
查看>>
nodejs 构建本地web测试服务器 以及 解决访问静态资源的问题!有完整源码!
查看>>