minstdfx 求过
PrincessQi · · 休闲·娱乐
题意
大致就是,你有一个
题解
这题简直\Huge\text{太简单了} ,请语文王子同学回答一下
语文王子:公开赛求审核
哎你tm有病是不是,我喊你回答问题你干啥呢
语文王子:我知道了,但你 出言不逊 是!!
你出去你出去
那我们再喊一个人。请可爱的
八云蓝:对于一个左部右部均n个点的二分图,如果它每个点的度数都大于等于2,那么它完美匹配必然不可能存在且唯一。证明空白太小,写不下。
\Large\text{八}\color{red}\text{云蓝} 说的很对!然后我们就可以随便做了!太简单了!画个图感受一下
上图每个点度数为1,其中
然后这就是充要条件,但是为了防止有问题我们还是在代码里模一下
这还要我讲?这不就随便做做!
为了防抄袭,我在代码里定义了一个等于
string ssh="setwsrgdrhdrhdrh";
#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")//缺省源
#include <bits/stdc++.h>
using namespace std;
const int maxn=2000009;
string ssh="setwsrgdrhdrhdrh";
int vis[maxn],n,m,N;
vector<int> e[maxn];
deque<int> q;
int read() {
int a=0,b=1,c=getchar();
while(isspace(c)) c=getchar();
if(c=='-') b=-1,c=getchar();
while(isdigit(c)) a=(a<<3)+(a<<1)+(c^48),c=getchar();
return a*b;
}//快读
int deg[maxn];
bool check()//检查
{
for(int i=1;i<=N;++i)
{
deg[i]=e[i].size();
if(e[i].empty()) {
// printf("%d is empty.\n",i);
return false;
}
else if(e[i].size()==1) vis[i]=true,q.push_back(i);
}
int visited=0;
while(!q.empty())//判断是否为空
{
int cur=q.front(),nxt=-1;
q.pop_front();++visited;
for(auto i:e[cur])
if(!vis[i])
{
nxt=i;
}
if(nxt==-1) continue;
vis[nxt]=1;++visited;
for(auto i:e[nxt])
{
if(!vis[i])
{
if((--deg[i])<2) {
q.push_back(i);
vis[i]=1;
}
}
}
}
// printf("%d\n",visited);
return visited>=N;//返回
}
int main()//主函数
{
int t=read(),u,v;//输入t
while(t--)
{
n=read();m=read();N=n<<1;//输入nm
for(int i=1;i<=N;++i) e[i].clear();
memset(vis,0,sizeof(int)*(N+1));
q.clear();
while(m--)//循环
{
u=read();v=read();
e[u].push_back(v+n);
e[v+n].push_back(u);
}
puts(check()?"Renko":"Merry");//输出答案
}
}