C

来源:互联网 发布:局域网协作办公软件 编辑:程序博客网 时间:2024/06/05 18:49

点击打开链接

每个图里面有很多的点和边,每个点有各种颜色,求相邻颜色最多的颜色

用一个set容器来记录每种颜色相邻的颜色

#include <iostream>#include <cstdio>#include <vector>#include <queue>#include<set>using namespace std;int c[100005];set<int> lw[100005];int n,m,ans=100000,x,y;int main(){cin>>n>>m;for(int i=1;i<=n;i++){cin>>c[i];ans=min(ans,c[i]);}for(int i=1;i<=m;i++){cin>>x>>y;if(c[x]!=c[y]){lw[c[x]].insert(c[y]);lw[c[y]].insert(c[x]);}}for(int i=1;i<=100000;i++){if(   lw[ans].size() < lw[i].size() ){ans=i;}}cout<<ans<<endl;}