题目描述
题解
板子题= =(有一点点变化而已)
给每一个公司建一个树= =
也就是所有的东东都再加一维而已= =
怎么判“任何公司不能控制连接同一个站点的两条以上的电缆”这个条件呢?
记一下每个点的度即可(煞笔吧
注意这个度也是每个公司一个哦
其他的没有什么变化了吧
判边用map
代码
#include<iostream>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
const int max_n=8005;
const int max_c=105;
int n,m,c,t,x,y,z;
int ch[max_c][max_n][2],f[max_c][max_n],reverse[max_c][max_n];
int sum[max_c][max_n];
int strack[max_n];
map <int,int> hash;
inline int get(int x,int con){
return ch[con][ f[con][x]