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

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

Portal: 

是道好题

噗噗噗,咱果断的优化大展神威,一次AC,爽到~

底下Discuss哀鸿遍野,出题者卡的一手好常数.

限制是1000MS直接300MS过了,然而最快的人直接0MS,%%%

1 #include
2 #include
3 using namespace std; 4 #define FOR(i,j,k) for(int i=j;i<=k;i++) 5 #define FORD(i,j,k) for(int i=j;i>=k;i--) 6 #define LL long long 7 #define maxn 10010 8 int father[maxn],val[maxn]; 9 int x,y,k;10 bool flag;11 map
ID;12 int setfind(int xx)13 {14 int fa=father[xx];15 if(fa==xx) return fa;16 else return father[xx]=setfind(fa);17 }18 bool setunion(int xx,int yy)19 {20 int X=setfind(xx);21 int Y=setfind(yy);22 if(X==Y) return true;23 else if(val[X]>val[Y]) father[Y]=X;24 else father[X]=Y;25 if(val[X]==val[Y]) val[Y]++;26 return false;27 }28 bool issame(int xx,int yy)29 {30 return setfind(xx)==setfind(yy);31 }32 bool setcheck()33 {34 FOR(i,1,k-1)35 if(!issame(i,i+1)) return true;36 return false;37 }38 int main()39 {40 while(true)41 {42 k=0;43 flag=true;44 for(cin>>x>>y;x>0&&y>0;cin>>x>>y)45 {46 if(!ID.count(x)) {k++; ID[x]=k; father[k]=k; val[k]=1;}47 if(!ID.count(y)) {k++; ID[y]=k; father[k]=k; val[k]=1;}48 if(setunion(ID[x],ID[y])) {
for(cin>>x>>y;x>0&&y>0;cin>>x>>y);flag=false;break;}49 }50 if(x==-1) return 0; 51 if (setcheck()) flag=false;52 if(flag) cout<<"Yes"<
长长的代码

这题打了30min,给我感觉最深的是模块化程序设计和代换化归思想的重要性

当然还有:

神TM error C2872 啊!rank不给用,_也不给用,还能不能好好用奇怪的姿势解题啦!!!

总而言之明天再继续打题吧。困~

 

转载于:https://www.cnblogs.com/mukoiaoi/p/5634525.html

你可能感兴趣的文章
【文摘】经营十二条
查看>>
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>
导入lxml找不到etree,报ImportError:DLL load failed:找不到指定的程序
查看>>
面向对象一
查看>>
大象的崛起!Hadoop七年发展风雨录
查看>>
图片二值化
查看>>
数据库常用函数
查看>>
集合之TreeSet(含JDK1.8源码分析)
查看>>
C语言学习的记忆
查看>>