
bzoj 4423: [AMPPZ2013]Bytehattan
发布日期:2021-05-06 23:49:06
浏览次数:22
分类:技术文章
本文共 1161 字,大约阅读时间需要 3 分钟。
题解
今天来学了一波平面图转对偶图。。
感觉很妙啊。。 但是我似乎并不能很好地认清平面图和对偶图 CODE:#include#include #include using namespace std;const int N=1505;int M;int f[N*N];int n,k;int m;int last=1;int find (int x){ return f[x]==x?f[x]:f[x]=find(f[x]);}int P (int x,int y){ return (x-1)*m+y;}void Ins (int x,int y)//这两个点连通 { int fx=find(x),fy=find(y); f[fx]=fy;}void solve (int x,int y,char ch){ int a,b; if (ch=='E') a=P(x+1,y),b=P(x+1,y+1); else a=P(x,y+1),b=P(x+1,y+1); int fx=find(a),fy=find(b); if (fx==fy) { last=0; printf("NIE\n"); } else { last=1; f[fx]=fy; printf("TAK\n"); }}int main(){ scanf("%d%d",&n,&k); m=n+1;M=m*m; for (int u=1;u<=M;u++) f[u]=u; for (int u=2;u<=m;u++) Ins(P(1,u),P(1,u-1)); for (int u=2;u<=m;u++) Ins(P(m,u),P(m,u-1)); for (int u=2;u<=m;u++) Ins(P(u,1),P(u-1,1)); for (int u=2;u<=m;u++) Ins(P(u,m),P(u-1,m)); while (k--) { int a,b,c,d;char ss[5],ss1[5]; scanf("%d%d",&a,&b);scanf("%s",ss); scanf("%d%d",&c,&d);scanf("%s",ss1); if (last==1) solve(a,b,ss[0]); else solve(c,d,ss1[0]); } return 0;}
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月22日 05时42分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
js基础复习5-原型链与js的成员查找机制
2019-03-04
js基础复习8-call方法简单使用以及javascript继承
2019-03-04
【游记】被吊打DAY2
2019-03-04
微信公众号开发之素材管理
2019-03-04
修改dynamic web module的版本大小
2019-03-04
Node.js response 页面中文乱码
2019-03-04
gitee 修改个人域名 个人空间地址 URL
2019-03-04
C++11中bind的使用错误
2019-03-04
futex同步机制分析之三内核实现
2019-03-04
多线程的伪共享
2019-03-04
flink分析使用之五工作图的生成和分发
2019-03-04
基于OpenCV的路面质量检测
2019-03-04
Spring Cloud系列_11 Feign负载均衡、请求传参
2019-03-04
leetcode 543. Diameter of Binary Tree
2019-03-04
VSLAM系列原创01讲 | 深入理解ORB关键点提取:原理+代码
2019-03-04
卡尔曼滤波器的特殊案例
2019-03-04
基于Opencv的图像单应性转换实战
2019-03-04
【C++简明教程】Python和C++指定元素排序比较
2019-03-04
视觉实战|使用人工神经网络进行图像分类
2019-03-04