题目链接:活动 - AcWing

题面:

虽然这题看上去很麻烦,刚开始我想的也很麻烦,麻烦到我不知道怎么实现,但是这题只要想到一个点就会很简单,在不会有重边的情况下,如果在两个属于同一个集合的点之间连一条边,那么就会形成环,也就是游戏的结束条件,虽然是个二维图,我们可以通过x * n + y的方法映射成一维

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define pi pair<int, int>
int s[43005];
void init(int x){for(int i = 0; i <= x; i++){s[i] = i;}
}
int findx(int x){if(s[x] == x){return x;}return s[x] = findx(s[x]);
}
void merge(int x, int y){int fx = findx(x);int fy = findx(y);if(fx != fy){s[fy] = fx;}
}int main(){ios::sync_with_stdio(false);int n, m;cin >> n >> m;n++;init(n * n);bool f = 0;for(int i = 1; i <= m; i++){int x, y;char c;cin >> x >> y >> c;if(f == 1){continue;}if(c == 'D'){if(findx(x * n + y) == findx((x + 1)* n + y)){cout << i << endl;f = 1;}merge(x * n + y, (x + 1)* n + y);}else{if(findx(x * n + y) == findx(x* n + y + 1)){cout << i << endl;f = 1;}merge(x * n + y, x * n + y + 1);}}if(f == 0){cout << "draw" << endl;}return 0;
}

格子游戏 ACWING-1250相关推荐

  1. bzoj 1647: [Usaco2007 Open]Fliptile 翻格子游戏(枚举)

    1647: [Usaco2007 Open]Fliptile 翻格子游戏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 727  Solved: 287 ...

  2. Fliptile 翻格子游戏

    问题 B: [Usaco2007 Open]Fliptile 翻格子游戏 时间限制: 5 Sec  内存限制: 128 MB 题目描述 Farmer John knows that an intell ...

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

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

  4. 【有趣的Python小程序】Python多个简单上手的库制作WalkLattice 走格子游戏 (思路篇)上

    篇写上一个思路篇,那么今天我们就来完成这一项工作 源代码和配套文件 链接: https://caiyun.139.com/m/i?135ClY1yWrSKX 提取码:e4pq 复制内容打开中国移动云盘 ...

  5. 格子游戏 解题报告

    格子游戏  解题报告 v [问题描述] v Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3) 接着,他们两个轮流在相邻的点之间画上红边和蓝边: v v v v     ...

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

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

  7. 并查集——格子游戏(简单应用)

    传送门:格子游戏 思路:将图上的每一个点都用他们的坐标转化成一个具体的数字表示做一个点,如 (x,y)可以表示成a= x*n+y.每次向右和向下扩展的时候就相当于将两个点所在的并查集树合并,在合并之前 ...

  8. 1250. 格子游戏

    分析:二维转一维,我们发现,每次连边,两个结点可以看为在一个集合中,如果封闭了,就说明两个连边的结点已经再一个集合中了,由于是二维的,可以转换为二维 xx=x*n+y #include <ios ...

  9. Fliptile 翻格子游戏[Usaco2007 Open]

    题目描述 Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. ...

  10. 【有趣的Python小程序】Python多个简单上手的库制作WalkLattice 走格子游戏 (思路篇)下

    在上一篇的分析当中,我们已经基本上完成了基本模块的代码,接下来,我们就为这个代码增添更多好玩有趣的小功能吧.那么还没有看过代码篇和思路篇的朋友们可以点击下方链接直接跳转到代码篇去的哈 源代码和配套文件 ...

最新文章

  1. 寻找UHRR(universal human reference RNA)的表达谱
  2. 五笔字根表识别码图_精选五笔输入法拆字原则,值得收藏
  3. class不生效 weblogic_weblogic下更改jsp不生效的解决办法
  4. 局部敏感哈希-Locality Sensitive Hashing
  5. 线上问题分析系列:数据库连接池内存泄漏问题的分析和解决方案
  6. 浅析C#发送短信的原理
  7. 填平数据、产品、模式需求鸿沟,浪潮云发布新一代行业云 MEP战略
  8. java ocsp请求_java – 客户端证书上的OCSP吊销
  9. 全新iPhone“Pro”命名要实锤:新增配色是“原谅色”本色吧?
  10. R循环有两个_R语言数据分析与挖掘(第九章):聚类分析(2)——层次聚类
  11. python 字符串format格式化一
  12. 高位在前低位在后是啥意思_两年前满仓买的一支股,买时28,现在8块多点,股民怎么处理好?...
  13. namenode节点无法启动解决方法
  14. 文件内容快速搜索工具(Everything、Listary、DocFetcher)下载
  15. 计算机工控机配置,研华工控机最新配置IPC-610
  16. 独家 | 想成为一名数据科学家?你得先读读这篇文章
  17. 微信小程序之将base64图片转为本地图片
  18. rm——删除文件、文件夹
  19. 数据视化Echarts+百度地图API实现市县区级下钻
  20. Java在Web端微信公众号授权登录

热门文章

  1. python3+robotframework+selenium3 浏览器兼容性测试
  2. 分享45个超棒的ipad界面UI设计
  3. MPO/MTP光纤连接器/跳线如何选择?
  4. Linux:简单信号编程记录
  5. Orleans 2.0 官方文档 ——Grains定时器和提醒器(Reminder)
  6. 【已解决】Xavier非正常掉电关机问题
  7. 起底地推之殇,探其如何重生?
  8. 计算机基础及ms office应用选择题,计算机一级基础及MSOffice应用部分选择真题
  9. 简单工厂模式(思维导图)
  10. Rational Rose 2007 下载,安装及破解激活图文教程