L2-023 图着色问题

原题链接

题解

说用k种颜色, 没说用少于k种

code

#include<bits/stdc++.h>
using namespace std;
vector<int> G[505];
int vis[505]={0};
int color[505]={0};
int v,e,k,n;
int solve()
{
    for(int i=1;i<=v;i++)
    {
        for(auto next:G[i])
        {
            if(color[i]==color[next]) return 0;
        }
    }
    return 1;
}
int main()
{
    cin>>v>>e>>k;
    for(int i=1;i<=e;i++)
    {
        int x,y;
        cin>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }

    cin>>n;

    while(n--)
    {
        set<int> q;
        int maxs=0,mins=v+1;
        for(int i=1;i<=v;i++)
        {
            cin>>color[i];
            q.insert(color[i]);
            maxs=max(maxs,color[i]);
            mins=min(mins,color[i]);
        }
        if(mins>0&&maxs<=v&&q.size()==k&&solve()) puts("Yes");
        else puts("No");
    }
    return 0;
}

posted @   纯粹的  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示