【1142】Maximal Clique (25分)【有点问题】

简介: 【1142】Maximal Clique (25分)【有点问题】【1142】Maximal Clique (25分)【有点问题】
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
#include<unordered_map>
using namespace std;  
const int MAXV=205;
vector<vector<int>>graph(MAXV);
int main(){   
  int Nv,Ne,M;
  scanf("%d%d",&Nv,&Ne);//点数 边数
  while(Ne--){//读取无向图的边
    int a,b;
    scanf("%d%d",&a,&b);
    graph[b].push_back(a);
    graph[a].push_back(b);
  }
  scanf("%d",&M);
  while(M--){
    int K;
    scanf("%d",&K);
    unordered_map<int,int>record;
    //键表示读取的点集能够到达的顶点编号
    //值表示读取的点集有多少个点能够到达键代表的顶点
    vector<int>v(K);
    //存储读入的点集中各个顶点编号,集合有K个点
    for(int i=0;i<K;++i){
      scanf("%d",&v[i]);
      ++record[v[i]];//递增当前点在map中对应的值
      for(int ii:graph[v[i]])//遍历其能到达的顶点
        ++record[ii];//递增能够到达的点在map中对应的值
    }
    bool clique=true,maximal=true;
    for(auto i=record.cbegin();i!=record.cend()&&clique;++i){
      //遍历map
      auto j=find(v.cbegin(),v.cend(),i->first);//返回record~map以i为键值对应值的指针
      if(j!=v.cend()&&i->second!=K)//j未到末尾且
      //当前map的键代表的顶点编号在vector中且其值≠K
        clique=false;
      else if(j==v.cend()&&i->second==K)
      //当前map的键代表的顶点编号不在vector中且值=K
        maximal=false;
    }
    //输出
    if(!clique)
      printf("Not a Clique\n");
    else if(!maximal)
      printf("Not Maximal\n");
    else
      printf("Yes\n");
  }
  system("pause");
    return 0;   
}
相关文章
LeetCode contest 183 5376. 非递增顺序的最小子序列 Minimum Subsequence in Non-Increasing Order
LeetCode contest 183 5376. 非递增顺序的最小子序列 Minimum Subsequence in Non-Increasing Order
PAT甲级 1004. Counting Leaves(30分)
PAT甲级 1004. Counting Leaves(30分)
70 0
|
Java C++
HDU-1005,Number Sequence(有规律的数学题)
HDU-1005,Number Sequence(有规律的数学题)
【1096】Consecutive Factors (20 分)
【1096】Consecutive Factors (20 分) 【1096】Consecutive Factors (20 分)
129 0
【1004】Counting Leaves (30 分)
【1004】Counting Leaves (30 分) 【1004】Counting Leaves (30 分)
98 0
【1085】Perfect Sequence (25 分)
【1085】Perfect Sequence (25 分) 【1085】Perfect Sequence (25 分)
96 0