zoukankan      html  css  js  c++  java
  • L2-025. 分而治之

    L2-025. 分而治之

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

    输入格式:

    输入在第一行给出两个正整数 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
    
    题解:挺简单的一道题目,想了半天。。。用一个vis数组记录连通的边是否有顶点被删除,没有则剩余城市中还有连通的城市,所以输出NO,否则输出YES。

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <vector>
    #define INF 9999999
    using namespace std;
    const int maxn=10005;
    int vis[maxn];
    int n,m,k,np;
    struct node{
        int u,v;
    }a[maxn];
    int main()
    {
    
        cin>>n>>m;
        for(int i=1;i<=m;i++){
            cin>>a[i].u>>a[i].v;
        }
        cin>>k;
        while(k--){
            memset(vis,0,sizeof vis);
            cin>>np;
            int y;
            while(np--){
                cin>>y;
                vis[y]=1;//被攻占的城市标记为1
            }
            int flag=0;
            for(int i=1;i<=m;i++){
                if(!vis[a[i].u]&&!vis[a[i].v]){//如果原本连通的两个城市都没有被攻占,则输出NO。
                    flag=1;
                    break;
                }
            }
            if(flag) printf("NO
    ");
            else printf("YES
    ");
        }
        return 0;
    }
    






  • 相关阅读:
    【转】【SEE】基于SSE指令集的程序设计简介
    【转】【Asp.Net】asp.net服务器控件创建
    ControlTemplate in WPF ——ScrollBar
    ControlTemplate in WPF —— Menu
    ControlTemplate in WPF —— Expander
    ControlTemplate in WPF —— TreeView
    ControlTemplate in WPF —— ListBox
    ControlTemplate in WPF —— ComboBox
    ControlTemplate in WPF —— TextBox
    ControlTemplate in WPF —— RadioButton
  • 原文地址:https://www.cnblogs.com/kzbin/p/9205261.html
Copyright © 2011-2022 走看看