博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[POJ2492]A Bug's Life
阅读量:4983 次
发布时间:2019-06-12

本文共 1547 字,大约阅读时间需要 5 分钟。

【问题描述】

  Hopper教授正在研究一种罕见的臭虫性行为。
.他假定它们有两个不同的性别,他们只会与异性XXOO。
.在他的实验,个别的臭虫和它们之间的交配行为是很容易识别,因为他们的背上印有号码。. 
给出一系列臭虫的交配行为名单,判断实验结果是否支持他的“臭虫之间没有同性恋的假设”。
【解题报告】
  和NOIP2010的监狱差不多,两个并查集解决问题。
 
1 program bugs;  2 var  3   k,nn,i,n,m,x,y,x0,y0:longint;  4   a,b,c:array[0..1000001]of longint;  5   father:array[0..40001]of longint;  6   can:boolean;  7  8 procedure init;  9 begin 10   assign(input,'bugs.in'); 11   reset(input); 12   assign(output,'bugs.out'); 13   rewrite(output); 14 end; 15 16 procedure outit; 17 begin 18   close(input); 19   close(output); 20 end; 21 22 function find(x:longint):longint; 23 begin 24   if father[x]=x then exit(x); 25   father[x]:=find(father[x]); 26   exit(father[x]); 27 end; 28 29 procedure main; 30 begin 31   readln(nn); 32   for k:=1 to nn do 33   begin 34     writeln('Scenario #',k,':'); 35     can:=false; 36     readln(n,m); 37     for i:=1 to m do readln(a[i],b[i]); 38     for i:=1 to 2*n do father[i]:=i; 39     for i:=1 to m do 40     begin 41       x:=find(a[i]); y:=find(b[i]); 42       x0:=find(a[i]+n); y0:=find(b[i]+n); 43       if (x=y)or(x0=y0) then 44       begin 45         can:=true; 46         writeln('Suspicious bugs found!'); 47         writeln; 48         break; 49       end; 50       if x<>y0 then father[x]:=y0; 51       if y<>x0 then father[y]:=x0; 52     end; 53     if can then continue; 54     writeln('No suspicious bugs found!'); 55     writeln; 56   end; 57 end; 58 59 begin 60   init; 61   main; 62   outit; 63 end.

转载于:https://www.cnblogs.com/wwzhwdwd/archive/2011/08/27/2155567.html

你可能感兴趣的文章
第六章 类文件结构(待续)
查看>>
头文件与函数定义分离
查看>>
ECUST 12级 Practise
查看>>
罗马数字转换成整数
查看>>
gearcache在qemu-kvm虚拟化平台下的实现
查看>>
.Net生成HTML的三种方法
查看>>
HTML&CSS基础学习笔记1.8-预格式文本
查看>>
PSexec以及xcopy的简单使用
查看>>
Postgresql迁移数据文件存放位置
查看>>
性能优化——存储性能优化
查看>>
写一篇博文介绍JSP
查看>>
C++笔记 3
查看>>
windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)...
查看>>
golang-gin框架
查看>>
java程序中中常用到的linux操作
查看>>
asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料
查看>>
百度star2012初赛第一场的题目
查看>>
武汉第二十七天
查看>>
最长公共子序列
查看>>
MFC 鼠标去留
查看>>