不使用域名做网站,无人视频在线观看免费播放影院,wordpress源代码很乱,网站建设专业介绍正题
题目链接 大意
有两个人在玩游戏#xff0c;在一个n*n的矩阵的点上画线#xff0c;有如果有线封了圈那么游戏结束#xff0c;给出一些操作#xff0c;求在那一轮结束了游戏#xff0c;或没有结束游戏。 解题思路
用并查集把点相连#xff0c;直到并查集形成环为…正题
题目链接 大意
有两个人在玩游戏在一个n*n的矩阵的点上画线有如果有线封了圈那么游戏结束给出一些操作求在那一轮结束了游戏或没有结束游戏。 解题思路
用并查集把点相连直到并查集形成环为止 代码
#includecstdio
#includeiostream
using namespace std;
int n,m,x,y,father[40001],s;
char c;
int find(int x)
{if (x!father[x]) return father[x]find(father[x]);return father[x];
}//并查集寻找
bool unionn(int x,int y)
{int fafind(x),fbfind(y);father[fa]fb;
}//连接
int point(int x,int y)
{return (x-1)*ny;
}//返回对应坐标的编号
int main()
{scanf(%d%d,n,m);for (int i1;in*n;i) father[i]i;//初始化for (int i1;im;i){scanf(%d%d,x,y);cinc;if (cR){if (find(point(x,y))find(point(x,y1))) //如果形成环{printf(%d,i);return 0;}unionn(point(x,y),point(x,y1));//连接}if (cD){if (find(point(x,y))find(point(x1,y))) {printf(%d,i);return 0;}unionn(point(x,y),point(x1,y));}}printf(draw);//没有结束游戏
}