TJU-3847 SanXII(图论)
来源:互联网 发布:桥畔译谈CIP数据 编辑:程序博客网 时间:2024/05/22 17:31
自己的想法:
如果一条边的两点属于一个国家,那么建边,否则不予理会。
建图完毕后跑一遍floyd(其实有判断连通性的和FLOYD类似的算法,忘记怎么写了,就用floyd代替了)
然后遍历每个国家检验是否每个城市都联通。
#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>using namespace std;const int MAXC=65536;const int MAXN=40;const int INF=1E6;int City [MAXN+5];//每个城市属于哪个国家int CityNum [MAXC+5];//每个国家城市的数量int Num [MAXC+5][MAXN+5];//每个国家有那些城市intdist[MAXN+5][MAXN+5];//城市与城市之间的距离int min(int x,int y){return x<y?x:y;}void work(int n,int m){int i,j,k,t,ans;int x,y,flag;memset(City,0,sizeof(City));memset(CityNum,0,sizeof(CityNum));for(i=0;i<=MAXN;i++)for(j=0;j<=MAXN;j++)dist[i][j]=INF;for(i=1;i<=n;i++){scanf("%d",&t);City[i]=t;CityNum[t]++;Num[t][CityNum[t]]=i;}while(m--){scanf("%d%d",&x,&y);dist[x][x]=0;dist[y][y]=0;if(City[x]==City[y]){dist[x][y]=1;dist[y][x]=1;}}for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) { t=dist[i][k]+dist[k][j]; if(t<dist[i][j]) dist[i][j]=t; } ans=0;for(i=1;i<=MAXC;i++){if(CityNum[i]==0) continue;flag=0;for(j=1;j<CityNum[i];j++)for(k=j+1;k<=CityNum[i];k++)if(dist[Num[i][j]][Num[i][k]]>=INF){flag=1;break;}if(flag) ans++;}printf("%d\n",ans);}int main(){int n,m;while(~scanf("%d%d",&n,&m)) work(n,m);return 0;}
0 0
- TJU-3847 SanXII(图论)
- TJU-3979. Cards(模拟)
- TJU-3852 Haitang1(其他)
- TJU-3862 Determinant(数学)
- TJU 3007 D Decoding(精简版)
- tju 4076 word count ( 读入)
- tju 4069 kai's problem (hash)
- TJU-4107. A simple problem(贪心)
- TJU-3980Painting Tree(贪心)
- TJU-3977-Probability I(概率DP)
- TJU-3845 Cut Stick(贪心)
- TJU-3851Variable Names(贪心)
- 最小树形图(tju 2248 UVA 11183 poj 3164)
- TJU-4117 Happy tree friends(最小生成树)
- TJU-3848 Game(矩阵乘法快速幂)
- TJU 3474
- TJU Sequence
- TJU Vacation
- 用LPC1114做产品-如何设计程序下载接口flashmagicISP
- Java源码---HashMap的底层实现
- DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5
- (3.1.7)Hibernate
- 东莞无人工厂变成现实,中国无人工厂将很快普及,保住世界工厂地位
- TJU-3847 SanXII(图论)
- Dev日常学习记录
- NSDictionary 字典 & KVC 的使用
- [LeetCode][Java] Pow(x, n)
- android shape的使用
- 返回一个数组中所有元素被第一个元素除的结果
- Oracle Temp 表空间切换
- (3.1.7.1)史上最简单的Hibernate入门简介
- linux驱动之spi学习小结