【1154】Vertex Coloring (25 分)

简介: 【1154】Vertex Coloring (25 分)【1154】Vertex Coloring (25 分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue>
#include<set>
using namespace std;  
先存边,再存点颜色进a数组 同时 进se集合(方便统计颜色种类数)
遍历每条边判断边两端(点) a[v[i].t1] ==a[v[i].t2],有相同则跳出
struct node { int t1,t2;};//大括号内不要漏了分号
int main(){   
  int n,m,k;
  cin >> n >>m; //n个点  m条边
  vector<node> v(m); //用m个node空间存放m条边,注意不是[]
  for(int i=0;i<m;i++){ //遍历m条边保存起始点
    scanf("%d %d",&v[i].t1,&v[i].t2);
  }
  cin >> k; //k次测试
  while(k--){
    int a[10009]={0};//存放每个点的颜色
    bool flag=true;
    set<int> se; //用set方便后面输出颜色种类数
    for(int i=0;i<n;i++){ //n个点的颜色初始化
      scanf("%d",&a[i]);
      se.insert(a[i]);
    }
    for(int i=0;i<m;i++){//遍历每一条边,与se无关!!
      if(a[v[i].t1] ==a[v[i].t2]){ 
        flag=false;//如果每条边的两端(点)颜色相同则false
        break;
      }
    }
    if(flag){
      printf("%d-coloring\n",se.size());
    }else{
      printf("No\n");
    }
  }
  system("pause"); 
    return 0;   
}
相关文章
|
7月前
|
人工智能
PTA- 矩阵的主对角线元素之和
矩阵的主对角线元素之和
98 1
|
7月前
|
C++
【PTA】​L1-048 矩阵A乘以B​ (C++)
【PTA】​L1-048 矩阵A乘以B​ (C++)
75 0
【PTA】​L1-048 矩阵A乘以B​ (C++)
(二维vector)(绝对值求和等式的处理)B. Playing in a Casino
(二维vector)(绝对值求和等式的处理)B. Playing in a Casino
93 0
2021杭电多校第八场 HDU7063-Square Card(求两圆相交面积)
2021杭电多校第八场 HDU7063-Square Card(求两圆相交面积)
77 0
2021杭电多校第八场 HDU7063-Square Card(求两圆相交面积)
PTA 1087 有多少不同的值 (20 分)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?
74 0
【CCCC】L3-006 迎风一刀斩 (30分),几何关系,找规律 (拼合多边形==斜边等价)
【CCCC】L3-006 迎风一刀斩 (30分),几何关系,找规律 (拼合多边形==斜边等价)
164 0
PTA | 喊山 (30 分) BFS 拼题A
一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发出原始信号的山头,本题请你找出这个信号最远能传达到的地方。
236 0
PTA | 喊山 (30 分) BFS 拼题A
|
C语言 C++
L1X-2 矩阵转置 (10 分)
输入一个mXm的整数矩阵,进行转置后输出。2<n <20
134 0