Drazil and His Happy Friends

CodeForces - 515B

Drazil有很多朋友,他们中有些人是快乐的,有些人是不快乐的。 Drazil想让他的朋友变得快乐。于是,他发明了以下的计划。
 
在他的朋友中,有n个男孩和m个女孩。我们把男孩从0到n-1编号,女孩从0到m-1编号。在第i天,Drazil邀请第i mod n个男孩和第i mod m个女孩一起吃饭(注意i从0开始)。如果两个人之中有一个是快乐的,那么另外一个也会变得快乐,否则,这两个人的心情状态不会改变。一个人一旦成为快乐的人(或者他原本就是快乐的),他能保持永远快乐。
 
Drazil想知道他是否可以使用该计划,使得他所有的朋友都变得快乐。

Input

 
第一行包含两个整数n和m(1≤n,m≤100)。
 
第二行包含整数b(0≤b≤n),表示Drazil的男生朋友中目前是快乐男生的数量,然后有b个不同的整数X1,X2,...,Xb(0≤Xi<n),表示这些快乐男生的编号。
 
第三行包含整数g(0≤g≤m),表示Drazil的女生朋友中目前是快乐女生的数量,然后有g个不同的整数Y1,Y2,...,Yg(0≤Yj<m),表示这些快乐女生的编号。
 
题目保证输入数据中至少有一个人不快乐。

Output

 
如果 Drazil能使得所有的朋友都变得快乐,就输出Yes,否则输出No

Sample Input

输入样例1:
2 3
0
1 0
 
输入样例2:
2 4
1 0
1 2
 
输入样例3:
2 3
1 0
1 1

Sample Output

输出样例1:
Yes
 
输出样例2:
No
 
输出样例3:
Yes
 
sol:暴力枚举就可以,显然枚举到max(n,m)*n*m是可以的,但没必要这么大,只要到2*n*m就可以了(应该十分显然吧)
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,m;
bool Boy[N],Girl[N];
int main()
{
int i,cnt;
R(n); R(m);
R(cnt); for(i=;i<=cnt;i++) Boy[read()]=;
R(cnt); for(i=;i<=cnt;i++) Girl[read()]=;
for(i=;i<=((n*m)<<);i++) if(Boy[i%n]||Girl[i%m])
{
Boy[i%n]=Girl[i%m]=;
}
for(i=;i<n;i++) if(!Boy[i]) return *puts("NO");
for(i=;i<m;i++) if(!Girl[i]) return *puts("NO");
puts("YES");
return ;
}

codeforces515B的更多相关文章

随机推荐

  1. 静态分析Android程序

    快速定位Android程序的关键代码 1.通过apktool反编译apk文件,得到AndroidManifest.xml文件,可以得到程序用到的组建.配置.以及主Activity 2.信息反馈法(特殊 ...

  2. python 全栈开发,Day37(操作系统的发展史)

    昨日内容回顾: # C/S和B/S架构 # osi五层模型 # 应用层 # 自定义协议(struct) _ 解决黏包 # 验证客户端合法性 _ hmac os.urandom # 解决TCP协议的se ...

  3. 【Codeforces 1110D】Jongmah FST分析

    Codeforces 1110 D FST分析 dotorya.FizzyDavid.MofK.gamegame.matthew99.chokudai.eddy1021.DBradac.Happy_N ...

  4. SkylineGlobe 6.6 开放的事件函数接口

    SkylineGlobe 6.6 开放的事件函数接口: struct __declspec(uuid("84ce9e1b-65ad-11d5-85c1-0001023952c1") ...

  5. 15-(基础入门篇)GPRS(Air202)GPIO控制点亮一个灯

    https://www.cnblogs.com/yangfengwu/p/9967027.html 现在点亮它,说一下哈,都过去好久了,不知道大家都在用哪个版本的库 http://www.openlu ...

  6. GIT 分支管理:分支管理策略、Bug分支、Feature分支

    通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...

  7. 分布式理论——quorum原理

    编者按:本篇文章是网上一些文章的合集,并不是原创,谢谢各位的分享. 一.基于Quorum投票的冗余控制算法 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要 ...

  8. C# 套接字编程:Scoket,我用Scoket做的C# Windows应用程序如下:

    首先请允许我做一个截图: 以上,是我服务端设计 我们知道:服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多.因此,我们可以通过程序随机获取一个当前可用的 ...

  9. A2dp初始化流程源码分析

    蓝牙启动的时候,会涉及到各个profile 的启动.这篇文章分析一下,蓝牙中a2dp profile的初始化流程. 我们从AdapterState.java中对于USER_TURN_ON 消息的处理说 ...

  10. vue 中使用 async/await 将 axios 异步请求同步化处理

    1. axios 常规用法: export default { name: 'Historys', data() { return { totalData: 0, tableData: [] } }, ...