【问题描述】

Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3)   接着,他们两个轮流在相邻的点之间画上红边和蓝边:

直到围成一个封闭的圈(面积不必为1)为止,“封圈”的那个人就是赢家。因为棋盘实在是太大了(n<= 200),他们的游戏实在是太长了!他们甚至在游戏中都不知道谁赢得了游戏。于是请你写一个程序,帮助他们计算他们是否结束了游戏?

【输入格式】

输入数据第一行为两个整数n和m。m表示一共画了m条线。以后m行,每行首先有两个数字(x,y),代表了画线的起点坐标,接着用空格隔开一个字符,假如字符是"D ",则是向下连一条边,如果是"R"就是向右连一条边。输入数据不会有重复的边且保证正确。

【输出格式】

输出一行:在第几步的时候结束。假如m步之后也没有结束,则输出一行“draw”。

【输入样例】

3 5

1 1 D

1 1 R

1 2 D

2 1 R

2 2 D

【输出样例】

4

#include <cstdio>
#include <iostream>
using namespace std;
int fa[40001], n, m, x, y, r1, r2, xx, yy;
char ch;
int find(int u)
{return fa[u] == u ? u : fa[u] = find(fa[u]);
}
int read()
{int x = 0;char ch = getchar();while (!isdigit(ch))ch = getchar();while (isdigit(ch))x = x * 10 + ch - 48, ch = getchar();return x;
}
int main()
{cin >> n >> m;for (int i = 1; i <= n * n; i++)fa[i] = i;for (int i = 1; i <= m; i++){x = read();y = read();cin >> ch;xx = n * (x - 1) + y;if (ch == 'D')yy = xx + n;elseyy = xx + 1;r1 = find(xx);r2 = find(yy);if (r1 != r2)fa[r1] = r2;else{cout << i;return 0;}}cout << "draw" << endl;return 0;
}

动规(16)-并查集基础题——格子游戏相关推荐

  1. 动规(20)-并查集基础题——打击犯罪

    [问题描述] 某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里 ...

  2. 动规(19)-并查集基础题——城镇道路

    Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接 ...

  3. 【并查集专题】格子游戏

    [并查集专题]格子游戏 题目描述 Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3) 接着,他们两个轮流在相邻的点之间画上红边和蓝边: 直到围成一个封闭的圈(面积不必为 ...

  4. 并查集专题(亲戚,格子游戏,银河英雄传说)

    文章目录 序言 正文 亲戚 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 输入 输出 样例输入 样例输出 讲解 Wrong Answer Code Accepted Code ...

  5. 【HDU1325】Is It A Tree?(并查集基础题)

    有以下坑点: 1.结束输入不一定-1,题目中的叙述只是说所有权值都为正值. 2.是否构成一棵树不能只判断是否只有一个根节点,没有环路,而且还需要判断每个节点的入度一定是1,不然就不是一棵树. (无环路 ...

  6. PAT题解-1118. Birds in Forest (25)-(并查集模板题)

    如题... #include <iostream> #include <cstdio> #include <algorithm> #include <stri ...

  7. 【SCAU 新生赛】18247 aler的旅游计划 并查集模板题

    18247 aler的旅游计划 该题有题解 时间限制:1000MS 代码长度限制:10KB 提交次数:15 通过次数:0 收入:10 题型: 编程题 语言: 不限定 Description aler想 ...

  8. 战争来临(并查集模板题)

    战争来临(并查集模板题) 描述   那一个骑单车卖报纸的少年 恐慌的眼泪慢慢布满了侧脸----<战争世界>   B国对A国发动了侵略战争,A国不得不全力抵御.A国幅员辽阔,后方群众的支援补 ...

  9. 并查集模板题(stl 中map的运用)

    DongDong认亲戚 DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程的 ...

最新文章

  1. pytest接口测试之fixture传参数request
  2. 吴裕雄--天生自然 PYTHON3开发学习:输入和输出
  3. 正则表达式-趣现象一则
  4. Fluid 0.6 版本发布:数据感知的Pod调度与数据集自动弹性扩缩容
  5. python可以在linux运行_服务器(Linux)上运行python总结
  6. Change Value to Reference(将值对象改为引用对象)
  7. MySQL 学习三:来教你如何完全卸载掉本地“头大的” MySQL 数据库!
  8. [HDU 3555] Bomb
  9. Cannot find executable for CFBundle 解决办法
  10. oracle查询时定义临时的变量,oracle学习笔记之临时变量的使用
  11. 第一次使用并配置Hibernate
  12. Linux时间不准确的问题![转]
  13. 高性能的 socket 通讯服务器(完成端口模型--IOCP)
  14. 中传入字符串_JavaScript字符串转数字有什么方法
  15. 『参考』.net CF组件编程(1)——基础之后
  16. IP SAN与IB SAN
  17. 雷达模块感应技术,智能照明LED灯的应用,5.8G雷达感应模块
  18. NODA-GA-NHS ester CAS:1407166-70-4 大环配体配合物
  19. 回顾我的 2018 读书历程以及个人感悟,让我们一起期待更好的未来(本文耗时 8 个月。。。)
  20. matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf

热门文章

  1. python xlwings使用说明_xlwings使用教程
  2. tomcat,java,jdk verson match
  3. 小程序数据请求注意事项
  4. thinkphp 上传文件时目录不存在的解决办法
  5. Google Cloud 线上课堂 | 解析勒索软件攻击链,看 Google Cloud 如何破局
  6. 洛谷P1113 杂务(DP,拓扑排序)
  7. 苹果官宣3月9日举行春季发布会 iPhone SE最受期待
  8. Python爬取携程机票代码实例
  9. Java:构造方法总结
  10. android backtrace,Android程序backtrace分析方法