其他分享
首页 > 其他分享> > AcWing 1684. 大型植被恢复

AcWing 1684. 大型植被恢复

作者:互联网

在这里插入图片描述

思路:暴力给每一个草垛上色,给每一个可以上色的草垛上色后其相邻的边也要上色,最后就是答案

代码:

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 110,M=310;
int h[N], e[M], ne[M], idx;
bool st[N][5];
void add(int a,int b){
    e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}

int main()
{
    int n,m;
    cin>>n>>m;
    memset(h, -1, sizeof h);
    while(m--){
        int a,b;
        cin>>a>>b;
        add(a,b);
        add(b,a);
    }
    
    for(int i=1;i<=n;i++){
        for(int j=1;j<=4;j++){
            if(!st[i][j]){
                cout<<j;
                for(int u=h[i];~u;u=ne[u]){
                    st[e[u]][j]=true;
                }
                break;
            }
        }
    }
    
    return 0;
}

标签:idx,int,上色,植被,st,add,1684,include,AcWing
来源: https://blog.csdn.net/qq_43619680/article/details/122876775