第十届省赛 B题.情报传递
来源:互联网 发布:java 日志写入数据库 编辑:程序博客网 时间:2024/06/04 00:20
题目:
这道题是昨天热身赛A的的扩充。
这道题里面有一些东西需要根据样例的输出来获取
比如: 0 也要向上级传递信息
这个树的关系是确定的,但通道并不一定建立
这可以通过样例的前5条推断出来
是一道需要动点脑筋的题,把样例给的图(树)画出来,
分析输出的值,来确定准确的题意。
代码:
#include<iostream>#include<vector>#include<queue>#include<string.h>#include<cmath>#include<string>#include<set>#include<list>#include<stack>#include<cctype>#include<functional>#include<algorithm>#include<iostream>#include<stdio.h>#include<sstream>usingnamespace std; int n, m;int up[5100];int build[5100];vector<int> down[5100]; int Send(int s){ int ret = 0; // 顺着s一直找上级,一直找到0 while (s) { if (!build[s]) { build[s] =true; ret++; } s = up[s]; } // 注意0本身也要向上建立通道。 // 因为样例的第一行 Send 0 输出为 0 if (!build[0]) { build[0] = true; ret++; } return ret;} int Danger(int s){ int ret = 0; queue<int> q; q.push(s); while (!q.empty()) { //从队列中拉取一个节点 s = q.front(); q.pop(); //看 s 自己是否向上级建立了通道 if (build[s]) { ret++; build[s] =false; } //遍历 s 所有的下级 for (int i = 0; i < down[s].size(); ++i) { // 看这个下级是否建立了通道 if (build[down[s][i]]) q.push(down[s][i]); } } return ret;} int main(){ int i; cin >> n; for (i = 1; i <n; ++i) { scanf("%d", &up[i]); // 设置 i的上级 down[up[i]].push_back(i); // 设置属于up[i] 的下级 } char buffer[20]; cin >> m; for (i = 0; i <m; ++i) { int num; scanf("%s", buffer); scanf("%d", &num); //只用比较第一个字符就可以知道是哪条命令 if (buffer[0] =='S') printf("%d\n", Send(num)); else printf("%d\n", Danger(num)); } return 0;}
0 0
- 第十届省赛 B题.情报传递
- B 情报传递 河南第十届ACM真题 【图】
- 河南省第十届ACM省赛 B 题 情报传递
- 2017年第十届河南省ACM省赛 B题情报传递
- 问题 B: 情报传递
- 河南省第十届ACM省赛题目:问题 B: 情报传递
- 河南省第十届acm情报传递
- upc 4189&&河南省第十届大学生程序设计竞赛 情报传递
- 河南省第十届大学生程序设计竞赛 情报传递
- 2017年河南省ACM省赛 Problem B: 情报传递
- HYSBZ 4448 情报传递
- 4448: [Scoi2015]情报传递
- 【Bzoj4448】情报传递
- HYSBZ4448-情报传递
- bzoj4448: [Scoi2015]情报传递
- 【bzoj4448】【SCOI2015】情报传递
- bzoj 4448: [Scoi2015]情报传递
- [NOIP模拟赛]传递情报
- 补作业 5-4
- 【计算机视觉】双目视觉1 opencv调用双摄像机 多个摄像机
- 十大经典算法之Apriori
- Java语言计算器界面实现
- UVa1586
- 第十届省赛 B题.情报传递
- 欢迎使用CSDN-markdown -->这是文章题目
- Spring环境搭建
- S2jsp 动态网页开发基础 web服务器
- AFHTTPSessionManager获取cookie的方法
- 深入理解Java和Android对象序列化以及反序列化
- 开发角色输入控制系统
- 数据库零碎要点001_数据库的4大特性(原子性_持久性_隔离性_一致性)_数据库的隔离级别(脏读_幻读_不可重复读)_mysql如何设置隔离级别
- spring mvc +spring +html放在web-inf下的注意点