L2-025 分而治之-PAT团体程序设计天梯赛GPLT
分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。
输入格式:
输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两城市的通路条数。随后 M 行,每行给出一条通路所连接的两个城市的编号,其间以一个空格分隔。在城市信息之后给出参谋部的系列方案,即一个正整数 K (<= 100)和随后的 K 行方案,每行按以下格式给出:
Np v[1] v[2] … v[Np]
其中 Np 是该方案中计划攻下的城市数量,后面的系列 v[i] 是计划攻下的城市编号。
输出格式:
对每一套方案,如果可行就输出“YES”,否则输出“NO”。
输入样例:
10 11
8 7
6 8
4 5
8 4
8 1
1 2
1 4
9 8
9 1
1 10
2 4
5
4 10 3 8 4
6 6 1 7 5 4 9
3 1 8 4
2 2 8
7 9 8 7 6 5 4 2
输出样例:
NO
YES
YES
NO
NO
分析:存图用邻接表存,aa数组表示此城有兄弟城市(即有多少城市与之连接),a组为每次攻城后的次城有多少兄弟城,aa作为原始连接情况,不变,每次用的时候,复制到a上即可。每攻下一座城,次城兄弟成变成0,其兄弟城的兄弟城减少一个。最后检查,如果所有城市的兄弟城都小于零,则输出YES,否则输出NO~
#include <iostream>
#include <vector>
using namespace std;
int n, m, k, aa[10010] = {0}, a[10010];
void check() {for(int i = 1; i <= n; i++) {if(a[i] > 0) {cout << "NO\n";return ;}}cout << "YES\n";return ;
}
int main(){cin >> n >> m;vector<vector<int>> v(n+1);while(m--) {int c1, c2;cin >> c1 >> c2;aa[c1]++;aa[c2]++;v[c1].push_back(c2);v[c2].push_back(c1);}cin >> k;while(k--) {int cnt, num;cin >> cnt;for(int i = 1; i <= n; i++)a[i] = aa[i];for(int i = 0; i < cnt; i++) {cin >> num;a[num] = 0;for(int j = 0; j < v[num].size(); j++)a[v[num][j]]--;}check();}return 0;
}
L2-025 分而治之-PAT团体程序设计天梯赛GPLT相关推荐
- L2-005 集合相似度-PAT团体程序设计天梯赛GPLT
题目来源:团体程序设计天梯赛-练习集 题目地址:L2-005 集合相似度 题目大意 给定 nnn 个集合,然后有 kkk 次询问,每次询问都要求出 Nc/Nt×100%N_c / N_t \times ...
- L1-079 天梯赛的善良 (20 分)-PAT 团体程序设计天梯赛 GPLT
天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. 于是命题组首先将编程能力划分成了 106个等级( ...
- L1-078 吉老师的回归 (15 分)-PAT 团体程序设计天梯赛 GPLT
曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的.只包括可打印符号的字符串描述出来,如:Problem A: Print &q ...
- [Python] L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT
2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...
- L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT
2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...
- L3-007. 天梯地图-PAT团体程序设计天梯赛GPLT
本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...
- L3-011 直捣黄龙 (30 分)-PAT 团体程序设计天梯赛 GPLT
本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径不唯一时,要求选择可以沿途解放最多城镇 ...
- [Python] L1-045 宇宙无敌大招呼-PAT团体程序设计天梯赛GPLT
据说所有程序员学习的第一个程序都是在屏幕上输出一句"Hello World",跟这个世界打个招呼.作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼. 输入格式 ...
- [Python] L1-005. 考试座位号-PAT团体程序设计天梯赛GPLT
L1-005. 考试座位号 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号 ...
最新文章
- AR智能提升工业效率的4大场景与应用实践!
- matlab实现矩阵的旋转变换
- this、new、apply和call详解
- java注解字段类型相同_《java基础学习之——重复注解》
- C++效率在此笔者不想通过反汇编来实验
- Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- fetchtype 动态控制_hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法
- Nginx 这一牛X的功能,你知道吗
- 系统调用跟我学(4)
- ZABBIX 监控 JBOSS 7.1.1
- 手动保存刷新微星主板BIOS图解教程
- 最新python腾讯文档界面自动打卡
- 2022年系统分析师考试大纲
- multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)
- 3600S软件测试工资,软件测试工资能拿到多少?谁说软件测试收入低?
- Mac与远程服务器数据交互软件Cyberduck
- Application Repository一键启用微信告警通知
- layui自定义工具栏
- python变量名必须以字母或下划线开头不区分字母大小写_Python变量名必须以字符或下划线开头,并且区分字母大小写。...
- maya腿的蒙皮旋转枢轴_Maya更改枢轴点,MAYA
热门文章
- 《魔兽世界插件》教程---21点扑克游戏 Blackjack
- android单选控件spinner与数据库结合综合实例
- AndroidICS4.0----LockScreen锁屏流程【Android源码解析九】
- kafka java 生产消费程序demo示例
- MySQL在远程访问时非常慢的解决skip-name-resolve
- 高仿快递100--实战之RadioGroup和RadioButton应用
- 实习笔试题,源代码编译
- 类与类加载器---《深入理解java虚拟机》
- Computer Science Theory for the Information Age-4: 一些机器学习算法的简介
- clone oracle ebs