分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。

输入格式:
输入在第一行给出两个正整数 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相关推荐

  1. L2-005 集合相似度-PAT团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-005 集合相似度 题目大意 给定 nnn 个集合,然后有 kkk 次询问,每次询问都要求出 Nc/Nt×100%N_c / N_t \times ...

  2. L1-079 天梯赛的善良 (20 分)-PAT 团体程序设计天梯赛 GPLT

    天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. 于是命题组首先将编程能力划分成了 106个等级( ...

  3. L1-078 吉老师的回归 (15 分)-PAT 团体程序设计天梯赛 GPLT

    曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的.只包括可打印符号的字符串描述出来,如:Problem A: Print &q ...

  4. [Python] L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT

    2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...

  5. L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT

    2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...

  6. L3-007. 天梯地图-PAT团体程序设计天梯赛GPLT

    本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...

  7. L3-011 直捣黄龙 (30 分)-PAT 团体程序设计天梯赛 GPLT

    本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径不唯一时,要求选择可以沿途解放最多城镇 ...

  8. [Python] L1-045 宇宙无敌大招呼-PAT团体程序设计天梯赛GPLT

    据说所有程序员学习的第一个程序都是在屏幕上输出一句"Hello World",跟这个世界打个招呼.作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼. 输入格式 ...

  9. [Python] L1-005. 考试座位号-PAT团体程序设计天梯赛GPLT

    L1-005. 考试座位号 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号 ...

最新文章

  1. AR智能提升工业效率的4大场景与应用实践!
  2. matlab实现矩阵的旋转变换
  3. this、new、apply和call详解
  4. java注解字段类型相同_《java基础学习之——重复注解》
  5. C++效率在此笔者不想通过反汇编来实验
  6. Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
  7. fetchtype 动态控制_hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法
  8. Nginx 这一牛X的功能,你知道吗
  9. 系统调用跟我学(4)
  10. ZABBIX 监控 JBOSS 7.1.1
  11. 手动保存刷新微星主板BIOS图解教程
  12. 最新python腾讯文档界面自动打卡
  13. 2022年系统分析师考试大纲
  14. multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)
  15. 3600S软件测试工资,软件测试工资能拿到多少?谁说软件测试收入低?
  16. Mac与远程服务器数据交互软件Cyberduck
  17. Application Repository一键启用微信告警通知
  18. layui自定义工具栏
  19. python变量名必须以字母或下划线开头不区分字母大小写_Python变量名必须以字符或下划线开头,并且区分字母大小写。...
  20. maya腿的蒙皮旋转枢轴_Maya更改枢轴点,MAYA

热门文章

  1. 《魔兽世界插件》教程---21点扑克游戏 Blackjack
  2. android单选控件spinner与数据库结合综合实例
  3. AndroidICS4.0----LockScreen锁屏流程【Android源码解析九】
  4. kafka java 生产消费程序demo示例
  5. MySQL在远程访问时非常慢的解决skip-name-resolve
  6. 高仿快递100--实战之RadioGroup和RadioButton应用
  7. 实习笔试题,源代码编译
  8. 类与类加载器---《深入理解java虚拟机》
  9. Computer Science Theory for the Information Age-4: 一些机器学习算法的简介
  10. clone oracle ebs