三角关系

【题目描述】

假设每两个人之间只可能存在相互喜爱、相互憎恶两种关系,对于关系网中任意的三个人,如果他们之间的关系满足下面两个条件之一,那这个关系网就是良好的:

(1)这三个人两两之间相互喜爱;

(2)这三个人之间有两个人相互喜爱,另一个人与这两个人都相互憎恶;

现有一个关系网,询问如果随意填补缺失的信息,有多少种情况能够使得这个关系网是良好的,输出答案 mod 1000000007的值。

【输入描述】

第一行输入一个整数T,表示数据组数;

每组数据输入格式如下:

第一行输入两个整数n、m,表示关系网中的人数和已知的关系数目;

接下来m行,每行输入三个整数a、b、c,表示a和b之间的关系,如果c=0,则表示a和b相互憎恶,如果c=1,则表示a和b相互喜爱。

【输出描述】

共输出T行,每行包含一个数,表示答案。

【样例输入】

样例1:

1

3 0

样例2:

1

4 4

1 2 1

2 3 1

3 4 0

4 1 0

【样例输出】

样例1:

4

样例2:

1

【数据范围及提示】

对于第一组样例,四种情况为:

(1)每个人互相喜爱;

(2)1和2相互喜爱,1和3以及2和3相互憎恶;

(3)1和3相互喜爱,1和2以及3和2相互憎恶;

(4)2和3相互喜爱,1和2以及1和3相互憎恶;

对于30%的数据,T = 1,3 <= n <= 10,1 <= m <= 10;

对于100%的数据,T = 5,3 <= n <= 50000,1 <= m <= 200000。

时间: 2024-09-29 08:36:18

三角关系的相关文章

一张图理解prototype、proto和constructor的三角关系

× 目录 [1]图示 [2]概念 [3]说明[4]总结 前面的话 javascript里的关系又多又乱.作用域链是一种单向的链式关系,还算简单清晰:this机制的调用关系,稍微有些复杂:而关于原型,则是prototype.proto和constructor的三角关系.本文先用一张图开宗明义,然后详细解释原型的三角关系 图示 概念 上图中的复杂关系,实际上来源就两行代码 function Foo(){}; var f1 = new Foo; [构造函数] 用来初始化新创建的对象的函数是构造函数.在

理解prototype、proto和constructor的三角关系

javascript里的关系又多又乱.作用域链是一种单向的链式关系,还算简单清晰:this机制的调用关系,稍微有些复杂:而关于原型,则是prototype.proto和constructor的三角关系.本文先用一张图开宗明义,然后详细解释原型的三角关系 概念 上图中的复杂关系,实际上来源就两行代码 function Foo(){}; var f1 = new Foo; [构造函数] 用来初始化新创建的对象的函数是构造函数.在例子中,Foo()函数是构造函数 [实例对象] 通过构造函数的new操作

选择结构的三角关系Switch、Case、Default!!!

选择结构的三角关系Switch.Case.Default!!! 今天我们学习选择结构进化章节--Switch结构,他与if有什么区别呢? 相同点: 都是用来处理多分支条件的结构 不同点: switch选择结构 只能处理等值条件判断的情况 好了,我们开始学习吧 1.switch选择结构:语法:switch (key) {case value: break;case value: break;case value: break;default: break;}根据key去匹配value的值,如果va

232 constructor构造函数,构造函数、实例、原型对象的三角关系

1.6 constructor构造函数 对象原型( __proto__)和构造函数原型对象(prototype)里面都有一个属性 constructor 属性 ,constructor 我们称为构造函数,因为`它指回构造函数本身`. `constructor 主要用于记录该对象引用于哪个构造函数,它可以让原型对象重新指向原来的构造函数`. 一般情况下,对象的方法都在构造函数的原型对象中设置.如果有多个对象的方法,我们可以给原型对象采取对象形式赋值,但是这样就会覆盖构造函数原型对象原来的内容,这样

Handler和Message以及Looper之间的三角关系

说到Handler想必大家都经常用到,在非UI线程更新UI那可是利器,用起来也非常容易上手 从使用上来说,我们只需要关注sendMessage和handleMessage即可 所以我们先从Handler和Message来说起,先看一小段代码 public static final int UPDATE_TEXT_VIEW = 0; public TextView mResultTextView = null; // new 一个 Handler 对象, 以内部类的方式重写 handleMessa

ZOJ 3598 Spherical Triangle (三角关系)

ZOJ Problem Set - 3598 Spherical Triangle Time Limit: 2 Seconds      Memory Limit: 65536 KB As everybody knows, the sum of the interior angles of a triangle on a plane is always 180 degree. But this is not true when the triangle is on spherical surfa

Bootloader - Main system - Recovery的三角关系

原文地址:http://blog.csdn.net/myarrow/article/details/8115610 一.MTD分区:BOOT:        boot.img,Linux kernel (within normal ramdisk)MISC:        bootloader message structRECOVERY:    recovery.img,Linux kernel (within recovery ramdisk)SYSTEM:      system.imgD

理解JavaScript中作用域链的关系

javascript里的关系又多又乱.作用域链是一种单向的链式关系,还算简单清晰:this机制的调用关系,稍微有些复杂:而关于原型,则是prototype.proto和constructor的三角关系.本文先用一张图开宗明义,然后详细解释原型的三角关系 概念 上图中的复杂关系,实际上来源就两行代码 function Foo(){}; var f1 = new Foo; [构造函数] 用来初始化新创建的对象的函数是构造函数.在例子中,Foo()函数是构造函数 [实例对象] 通过构造函数的new操作

bzoj1006

1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec Memory Limit: 162 MB Submit: 2789 Solved: 1255 Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2-An之间仅存在N对认识关系:(A1A2)(A2A3)-(AnA1),而没有其