A Bug's Life(向量偏移)
A Bug's Life
Time Limit : 15000/5000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 97 Accepted Submission(s) : 38
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs.
Problem
Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.
Input
Output
Sample Input
2
3 3
1 2
2 3
1 3
4 2
1 2
3 4
Sample OutpuScenario #1、
Suspicious bugs foundScenario #2:
No suspicious bugs found!
http://blog.csdn.net/shuangde800/article/details/7974664
这位大佬写的向量偏移非常阅读后这题就非常容易了;
就是他写的方程有点奇怪;
我自己觉得是这样的:
aa->bb=(-delta[a]+d-1+delta[b])%3;
a->b=(delta[a]-delta[b])%3; 这题题意用一组数据来说明吧
1 2;2 3;
1 3
1和2是异性,2和3也是异性,也就是1和3是同性,但是他有将a 和b是异性。出现了bug;
#include <cstring>
#include<stdio.h>
int p[];
int f[];//i的根节点到i的偏移量
int flag; int findi(int x)
{
if(p[x]==x)
return x;
int t=p[x];
p[x]=findi(p[x]);
f[x]=(f[x]+f[t])%;
return p[x];
}
void unioni(int x,int y)
{
int fx=findi(x);
int fy=findi(y);
p[fx]=fy;
f[fx]=(f[y]-f[x]+)%;
return ;
} int main (){
int t; scanf("%d",&t);
int k=;
while(t--)
{
flag=;
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;++i){
p[i]=i;
f[i]=;
}
int a,b;
while(m--){
scanf("%d%d",&a,&b);
int fa=findi(a);
int fb=findi(b);
if(fa==fb){
if(f[a]==f[b])
flag=;
}
else unioni(a,b);
}
if(flag)
printf("Scenario #%d:\nSuspicious bugs found!\n\n",k++);
else
printf("Scenario #%d:\nNo suspicious bugs found!\n\n",k++);
}
return ;
}
A Bug's Life(向量偏移)的更多相关文章
- POJ 2492 A Bug's Life (带权并查集 && 向量偏移)
题意 : 给你 n 只虫且性别只有公母, 接下来给出 m 个关系, 这 m 个关系中都是代表这两只虫能够交配, 就是默认异性, 问你在给出的关系中有没有与异性交配这一事实相反的, 即同性之间给出了交配 ...
- POJ 1182 食物链 (带权并查集 && 向量偏移)
题意 : 中文题就不说题意了…… 分析 : 通过普通并查集的整理归类, 能够单纯地知道某些元素是否在同一个集合内.但是题目不仅只有种类之分, 还有种类之间的关系, 即同类以及吃与被吃, 而且重点是题目 ...
- Unity3D学习笔记(三十七):顶点偏移和溶解
顶点偏移 沿向量方向偏移,沿自身坐标系方向偏移 沿法线方向偏移,球体放大,立方体拆分 Shader "Lesson/VFVertOffsetVertex" { Properties ...
- 百度地图 api bug 解决.......
百度地图 遇到了一个默明奇妙的bug..... 调用后中心点 不再 point(标注的点上...)这是需要执行一次(仅一次) 当 地图 加载完后 执行(这个方法你每次改地图 都会执行...所以让他执 ...
- Processing 网格(棋盘格)无限偏移纹理动画
过火 再度出击!这次我们要玩得更火一点---把静帧变动画.没错,将棋盘格动起来!看一下效果: 这是一个经典的无限偏移动画,在很多2d横版射击游戏中都会采用的技术.如何在Processing中实现,有两 ...
- RDD:基于内存的集群计算容错抽象(转)
原文:http://shiyanjun.cn/archives/744.html 该论文来自Berkeley实验室,英文标题为:Resilient Distributed Datasets: A Fa ...
- RDD:基于内存的集群计算容错抽象
转载自:http://shiyanjun.cn/archives/744.html 摘要 本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Dat ...
- hdu 1829(继续扩展并查集)
A Bug's Life Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- kuangbin带你飞 并查集 题解
做这套题之前一直以为并查集是很简单的数据结构. 做了才发现自己理解太不深刻.只看重片面的合并集合.. 重要的时发现每个集合的点与这个根的关系,这个关系可以做太多事情了. 题解: POJ 2236 Wi ...
随机推荐
- hihoCoder 1515 分数调查(带权并查集)
http://hihocoder.com/problemset/problem/1515 题意: 思路: 带权并查集的简单题,计算的时候利用向量法则即可. #include<iostream&g ...
- forEach、map、filter、find、sort、some等易错点整理
一.常用方法解析 说起数组操作,我们肯定第一反应就是想到forEach().map().filter()等方法,下面分别阐述一下各方法的优劣. 1.forEach 1.1 基础点 forEac ...
- ASP.NET技术总结
ASP.NET是ASP相关技术的最新版本,它如何工作: (经典)ASP的后缀名是".asp",通常用VB编写:ASP.NET是".aspx"—— ASP.NET ...
- oracle 与其他数据库如mysql的区别
想明白一个问题:(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念(2)而mysql ...
- python连接MongoDB(有密码有认证)
from pymongo import MongoClient host = '127.0.0.1' client = MongoClient(host, ) #连接mydb数据库,账号密码认证 db ...
- L2-019. 悄悄关注
说真的,看了一些L2题明白多学点库函数是多么重要!!!! 会map这题直接水过,map用法不解释自己学,代码如下: #include<bits/stdc++.h> using namesp ...
- java反编译器
一时手残,把java工程中的源文件给删了,幸亏还有.class文件,想起java可以反编译,所以试一试. JD-Eclipse 如果是使用Eclipse的话,可以用Eclipse插件JadClipse ...
- bat 命令 常用配置及其用法
1.初衷: bat 批处理文件:当我懒得一个个操作的时候,可以把若干东西放到一个文件里面,开机运行或者需要的时候手动运行.节省时间. 2.命令集说明 2.1 常用命令 2.1.0 help 命令 /? ...
- 日常英语---二、注册google的api的key
日常英语---二.注册google的api的key 一.总结 一句话总结:register google api key register_google_api_key 1.请通过电子邮件向我发送有关 ...
- Mongodb 分享(一)
Mongodb使用基础知识: 一.简介 1.mongodb是什么? 1)MongoDB 是一个基于分布式文件存储的数据库.由 )mongodb 客户端:NoSQL Manager for MongoD ...