问题描述

David 有很多好朋友。有些期末季刚结束,有些人很快乐,但有些不太快乐,David 想把快乐传递给每个人,作为心理学大师,他准备了如下计划:David 的朋友中有 n 个男生m 个女生, 还有 k 个跨性别者,方便起见,将他们分别编号为 0,...,n−1 和 0,...,m−1, 0,...,k −1,在第 i 天,David会邀请编号为 (i mod n) 的男生和编号为 (i mod m) 的女生还有 (i mod k)的跨性别者共进晚餐(因为 David 同时是程序员,所以从这个计划从第 0天开始) 。共进晚餐的三个人只要至少有有一个是快乐的人,另外的人也会变得快乐起来。否则大家的状态不会改变(一旦一个人是快乐的,他就会永远快乐下去) 。现在问题来了,David 想知道他是否能通过这个计划使得所有人都快乐起来呢?

输入格式

第一行一个整数 T ≤ 20,表示该测试点数据组数

每组数据的第一行包含三个整数 n,m,k, 保证至少一类人不为空

接下来一行第一个整数为 0 ≤ b ≤ n ,表示目前快乐的男生的数量,接下来

b 个空格隔开的整数 0 ≤ x i < n,表示快乐的男生的编号。

接下来一行第一个整数为 0 ≤ g ≤ m ,表示目前快乐的女生的数量,接下

来 g 个空格隔开的整数 0 ≤ y i < m,表示快乐的女生的编号。

接下来一行第一个整数为 0 ≤ t ≤ k ,表示目前快乐的跨性别者的数量,接

下来 t 个空格隔开的整数 0 ≤ z i < t,表示快乐的跨性别者的编号。

相邻两组数据之间有一行空行

输出格式

假如最终所有人都能变的快乐起来,就输出”Yes” (不带引号),否则输出”No”.

样例输入 1

3

2 3 0

0

1 0

0

2 4 0

1 0

1 2

0

2 3 0

1 0

1 1

0

样例输出 1

Yes

No

Yes

样例解释

对于第一组数据:

第 0 天,0 号男生和 0 号女生吃饭,因为 0 号女生是快乐的,所以 0 号男

生也变得快乐了;

第 1 天,1 号男生和 1 号女生吃饭,因为他们本来就都不快乐,情况没有变

化;

第 2 天,0 号男生和 2 号女生吃饭,因为 0 号男生是快乐的,所以 2 号女

生也变得快乐了;

第 3 天,1 号男生和 0 号女生吃饭,因为 0 号女生是快乐的,所以 1 号男

生也变得快乐了;

第 4 天,0 号男生和 1 号女生吃饭,因为 0 号男生是快乐的,所以 1 号女

生也变得快乐了;

这样就全都快乐了

对于第二组数据:1 号男生,1 号女生和 3 号女生永远也没法变得快乐

数据范围及约定

对于 50% 的数据,n,m ≤ 100,k = 0

对于 70% 的数据, n,m,k ≤ 2000

另外存在 10% 的数据, n,m ≤ 1000000000, b,g ≤ 100000,k = 0

对于 100% 的数据,n,m,k ≤ 1000000000, b,g,t ≤ 100000

// 70 fen baoli
/*
QAQ 这个70的baoli调了1h...然后就看见千古神犇 axm dalao的正解都写完了QAQ,在写暴力
对拍,我好慌,偶然一撇看到了他把它们放到了一个数组里,于是我也把他们放到一个
数组里,搞了好久一直不对。。放弃之际,决定再挣扎一下,然后..就调出来了,,但
是写完第一题心态爆炸. (PS:大家可不要学我没事乱看哦QAQ)
*/
#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
using namespace std;
const int N=1e6+10; inline int read() {
int n=0,f=1;char ch=getchar();
while (ch<'0' || ch>'9') {if(ch=='-') f=-1;ch=getchar();}
while (ch<='9' && ch>='0') {n=(n<<3)+(n<<1)+ch-'0';ch=getchar();}
return n*f;
} inline void init() {
freopen("happy2.in","r",stdin);
freopen("happy2.out","w",stdout);
} int x[N],y[N],z[N];
int T,n,m,k,b,a,c; int main() {
init();
T=read();
while (T--) {
n=read(),m=read(),k=read();
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
memset(z,0,sizeof(z));
int aa=read();
for(int i=1;i<=aa;++i) a=read(),x[a]=1;
int ba=read();
for(int i=1;i<=ba;++i) b=read(),y[b]=1;
int ca=read();
for(int i=1;i<=ca;++i) c=read(),z[c]=1;
if(k) {
for(int i=0;i<=100000;++i)
if(y[i%m] || x[i%n] || z[i%k])
y[i%m]=x[i%n]=z[i%k]=1; } else {
for(int i=0;i<=100000;++i)
if(y[i%m] || x[i%n]) y[i%m]=x[i%n]=1;
}
int bz=1;
for(int i=0;i<n;++i)
if(!x[i]) bz=0;
for(int i=0;i<m;++i)
if(!y[i]) bz=0;
for(int i=0;i<k;++i)
if(!z[i]) bz=0;
if(bz==0) printf("No\n");
else printf("Yes\n");
}
return 0;
}

std:

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
using namespace std;
const long long inf=947483648;
const int N=1e5+10; ll T,n,m,k;
ll a[N],b[N],cc[N],vis[N]; inline ll read() {
ll n=0,f=1;char ch=getchar();
while (ch<'0' || ch>'9') {if(ch=='-') f=-1;ch=getchar();}
while (ch<='9' && ch>='0') {n=(n<<3)+(n<<1)+ch-'0';ch=getchar();}
return n*f;
} inline ll gcd(ll a,ll b) {
if(b==0) return a;
else return gcd(b,a%b);
} inline void init() {
freopen("happy2.in","r",stdin);
freopen("happy2.out","w",stdout);
}
int main() {
init();
T=read();
while (T--) {
memset(vis,0,sizeof(vis));
n=read(),m=read(),k=read();
ll jc=gcd(gcd(n,m),k);
ll a1,b1,c1;
a1=read();
for(ll i=0;i<a1;++i) vis[read()%jc]=1;
b1=read();
for(ll i=0;i<b1;++i) vis[read()%jc]=1;
c1=read();
for(ll i=0;i<c1;++i) vis[read()%jc]=1;
ll c=1;
for(ll i=0;i<jc;++i)
if(!vis[i]) {
c=0; break;
}
if(!c || a1+b1+c1==0) printf("No\n");
else printf("Yes\n");
} fclose(stdin); fclose(stdout);
return 0;
}

20181107 模拟赛T1:快乐传递政治正确版的更多相关文章

  1. 【洛谷比赛】[LnOI2019]长脖子鹿省选模拟赛 T1 题解

    今天是[LnOI2019]长脖子鹿省选模拟赛的时间,小编表示考的不怎么样,改了半天也只会改第一题,那也先呈上题解吧. T1:P5248 [LnOI2019SP]快速多项式变换(FPT) 一看这题就很手 ...

  2. 20180610模拟赛T1——脱离地牢

    Description 在一个神秘的国度里,年轻的王子Paris与美丽的公主Helen在一起过着幸福的生活.他们都随身带有一块带磁性的阴阳魔法石,身居地狱的魔王Satan早就想着得到这两块石头了,只要 ...

  3. [NOIP2018校模拟赛]T1 阶乘

    题目: 描述 有n个正整数a[i],设它们乘积为p,你可以给p乘上一个正整数q,使p*q刚好为正整数m的阶乘,求m的最小值. 输入 共两行. 第一行一个正整数n. 第二行n个正整数a[i]. 输出 共 ...

  4. 5.20 省选模拟赛 T1 图 启发式合并 线段树合并 染色计数问题

    LINK:图 在说这道题之前吐槽一下今天的日子 520 = 1+1+4+514. /cy 这道题今天做的非常失败 一点分都没拿到手 关键是今天的T3 把我整个人给搞崩了. 先考虑 如果得到了这么一张图 ...

  5. 5.15 省选模拟赛 T1 点分治 FFT

    LINK:5.15 T1 对于60分的暴力 都很水 就不一一赘述了. 由于是询问所有点的这种信息 确实不太会. 想了一下 如果只是询问子树内的话 dsu on tree还是可以做的. 可以自己思考一下 ...

  6. 20161007 NOIP 模拟赛 T1 解题报告

    排序 3.1 题意描述 众所周知,熟练掌握至少一种排序算法是参加NOIP的必备技能.常见的排序算法有冒泡 排序.归并排序.快速排序.奇偶排序.猴子排序.梳排序.鸡尾酒排序.臭皮匠排序等. 在这里,介绍 ...

  7. NOIP欢乐模拟赛 T1 解题报告

    小澳的方阵 (matrix.cpp/c/pas) [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力钻研,发现秦始皇布置兵马俑 ...

  8. [模拟赛] T1 高级打字机

    Description 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小 ...

  9. 2019.2.25 模拟赛T1【集训队作业2018】小Z的礼物

    T1: [集训队作业2018]小Z的礼物 我们发现我们要求的是覆盖所有集合里的元素的期望时间. 设\(t_{i,j}\)表示第一次覆盖第i行第j列的格子的时间,我们要求的是\(max\{ALL\}\) ...

随机推荐

  1. 尝试 WebAssembly

    wasm 为浏览器应用开辟了一个全新的领域.意义非凡,并不是一句两句说的清的,今天正好有点空做些实验. 1. emsdk 的安装 Emscripten 可以直接将 C/C++ 编译为 wasm,让用 ...

  2. CentOS7 firewalld防火墙 启动 关闭 禁用 添加删除规则等 常用命令

    CentOS7 firewalld防火墙 常用命令1.firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看 ...

  3. Bootstrap4 glyphicon 移除图标 glyphicon fonts-faces 解决方案

    bootrap3是支持的图标 ,4不支持 4已经移除了 收费图标,取而代之建议使用其他的,比如 https://octicons.github.com/ 和http://fontawesome.io/ ...

  4. 1.ZooKeeper ACL权限控制

    参考:https://blog.csdn.net/liuxiao723846/article/details/79391650 ZK 类似文件系统,Client 可以在上面创建节点.更新节点.删除节点 ...

  5. iOS - 屏幕刷新 ADisplayLink

    什么是CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器.我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个r ...

  6. Java 之 线程 —线程通信( 等待唤醒机制)

    一.线程间通信 概念:多个线程在处理同一资源,但是处理的动作(线程的任务)却不相同. 例如: 线程 A 用来生成包子的,线程 B 用来吃包子的,包子可以理解为同一资源,线程 A 与线程 B 处理的动作 ...

  7. [转] Cache 和 Buffer的区别

    程序员开发过程中经常会遇到“缓存”.“缓冲”等相似概念,之前没有特别关注,现在停下来做一下总结,才能更好地前行. 先来下枯燥的概念: 1.Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量 ...

  8. sklearn中的KMeans算法

    1.聚类算法又叫做“无监督分类”,其目的是将数据划分成有意义或有用的组(或簇).这种划分可以基于我们的业务需求或建模需求来完成,也可以单纯地帮助我们探索数据的自然结构和分布. 2.KMeans算法将一 ...

  9. 关于mysql数据库涉及的一些规范

    tips:如果本文对你有用,请爱心点个赞,提高排名,让这篇文章帮助更多的人.谢谢大家!比心❤~ 如果解决不了,可以在文末加我微信,进群交流. 设计规范,在分工协作的工作场景中尤其重要,否则团队之间互相 ...

  10. python中生成JWK(json web token)

    #需要安装pyjwt import jwt import time # 使用 sanic 作为restful api 框架 def create_token(request): grant_type ...