您的位置:首页 > 其它

CodeForces-787B(题目不好读懂,懂了题目就发现是水题,感觉自己棒棒哒)

2017-08-25 20:32 253 查看

CodeForces-787B(题目不好读懂,懂了题目就发现是水题,感觉自己棒棒哒)

题目链接

题目大意:我做这个题的时候读了半个小时题才明白要干什么,哎。题意就是给出n个宇宙,m个小组,下面的m行每行第一个给出该小组成员的人数num,然后接着给出每个成员来自哪个星球,互为相反数的来自一个星球,其中必有一个是好人一个坏人,如果有一个小组可能全是坏人(也就是说如果有一个小组里没有相反数)那么就输出YES,否则就输出NO

解题思路:就是开一个vis[]数组,vis[ans(x)]=x就是说x的绝对值对应的存x,如果后来的x与vis[abs(x)]中存的数互为相反数,那个就标记一个flag=1,如果这个小组成员都过了一遍发现flag还是0,说明结果要输出YES。

AC代码

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int vis[100000];
int main()
{
int n,m,tag=0;
scanf("%d %d",&n,&m);
while(m--)
{
int num,flag=0;
memset(vis,0,sizeof(vis));
scanf("%d",&num);
while(num--)
{
int x;
scanf("%d",&x);
if(vis[abs(x)]==-x)
flag=1;
else
vis[abs(x)]=x;
}
if(flag==0)
tag=1;
}
if(tag==0)
printf("NO");
else
printf("YES");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐