NOJ1080悄悄话游戏
来源:互联网 发布:python 抓到的源码不对 编辑:程序博客网 时间:2024/06/03 02:10
悄悄话游戏
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:282 测试通过:138
总提交:282 测试通过:138
描述
现在我们来玩一个游戏:传播“悄悄话”,规则如下:
(1)一个人发起“悄悄话”
(2)一个人在知道“悄悄话”时,要么保持沉默,不告诉任何人;要么在规定时间内将“悄悄话”及时告诉其他两个人,否则游戏失败。
(3)所有人最终都知道“悄悄话”
假设一个人在规定时间内至多将“悄悄话”告诉两个人;除发起人外,其他每个人只被告诉一次“悄悄话”。给定游戏的统计数据,请你判断游戏是否成功。
输入
第一行是一个正整数:测试用例数目,最多为3。之后,每个测试用例包括多行:
l 第1行给出两个整数(空格分割),前者表示游戏参与人数n,后者表示“悄悄话”的发起人t,在这个游戏中,参加人用整数序号表示,2≤n≤10001,0≤t≤n-1
l 第2行给出一个整数,表示“悄悄话”传播的次数m,0≤m≤10000
l m行,每行两个整数(空格分割),前者表示“悄悄话”的告诉人,后者表示“悄悄话”的被告诉人
输出
对于每个测试用例:
l 游戏成功则输出“Success”,否则输出“Failure”
注意:输出部分的结尾要求包含一个多余的空行。
样例输入
2
3 0
2
0 1
0 2
4 0
3
0 1
1 2
2 3
样例输出
Success
Failure
题目来源
算法与数据结构设计2009
#include<stdio.h>#include<string.h>//悄悄话游戏int main(){int a[10001], b[10001];int ncase, n, t, m, x, y;scanf("%d",&ncase);while(ncase --){memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));bool flag = true;scanf("%d%d%d",&n,&t,&m);//scanf("%d",&m);for(int i=0;i<m;i++){scanf("%d%d",&x,&y);a[x] ++;b[y] ++;}for(int i=0;i<m;i++){if(a[i]%2 != 0) flag = false; // 每个人要告诉0个或2个人if(b[i] == t) continue;if(b[i] != 1) flag = false;}printf("%s\n",flag==true?"Success":"Failure");}return 0;}
0 0
- NOJ1080悄悄话游戏
- 悄悄话游戏
- 悄悄话游戏 NOJ 1080
- NOJ-1080-悄悄话游戏
- 南邮 OJ 1080 悄悄话游戏
- 悄悄话
- [BZOJ2145]悄悄话
- 2145: 悄悄话
- 悄悄话终于发布了
- BZOJ 2145 悄悄话
- 【bzoj2145】悄悄话 乱搞
- 写给网络女人的悄悄话
- 为什么悄悄话会跟异性说呢
- qq悄悄话查看器-分析报告
- 8句老人言,9句悄悄话,10句贴心话。
- 《我们这些本科生》 第三章 图书馆里的悄悄话
- 配色基础:你要懂的色彩悄悄话
- [转]8句老人言,9句悄悄话,10句贴心话。
- 黑马——OC基础(3)
- 小波变换和motion信号处理1
- NOJ1079——111…——数论mod
- 最长公共子序列(LCS)
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
- NOJ1080悄悄话游戏
- 如何给大数据量的磁盘文件排序
- 关于c++中的virtual继承的总结
- android中wifi原理及流程分析(很经典)
- In App Purchase总结
- Kinect 3D建模
- c笔记——可变长参数函数用法
- EF框架调用存储过程
- C++基础知识(三) 面向对象