USTC 1119 graph 图的同构
图的同构的严格定义可以参考离散数学:The simple graphs G1=(V1,E1) and G2=(V2,E2)are isomorphic if there exists a one to one and onto function f from V1 to V2 with the property that a and b are adjacent in G1 if and only if f(a)and f(b) are adjacent G2 , for all a and b in V1.
用哈希映射的方法可以解决,这个题的数据规模比较小,应该可以解决规模更大的题目。
- #include<iostream>
- #include<cstdio>
- #include<cstdlib>
- #include<cstring>
- #include<cmath>
- #include<vector>
- #include<algorithm>
- using namespace std;
- const int maxn=30,maxm=300,K=10,A=7,B=3,C=4,P=10007,D=35;
- int a[maxm][2],co[maxn],f[maxn],tf[maxn],n,m,cot[maxn];
- void graph_hash()
- {
- int q,w,e;
- for(int i=1;i<=n;i++)
- {
- for( q=1;q<=n;q++)f[q]=1;
- for(int z=0;z<K;z++)
- {
- memcpy(tf,f,sizeof(f));
- for(q=1;q<=n;q++)f[q]*=A;
- for(q=0;q<m;q++)
- {
- f[a[q][0]]+=tf[a[q][1]]*B;
- f[a[q][1]]+=tf[a[q][0]]*C;
- }
- f[i]+=D;
- for(q=1;q<=n;q++)f[q]%=P;
- }
- co[i]=f[i];
- }
- sort(co+1,co+1+n);
- }
- int main()
- {
- int kt;scanf("%d",&kt);
- for(int ii=0;ii<kt;ii++)
- {
- scanf("%d%d",&n,&m);
- for(int i=0;i<m;i++)
- {
- scanf("%d%d",&a[i][0],&a[i][1]);
- a[i+m][0]=a[i][1];
- a[i+m][1]=a[i][0];
- }
- m=m*2;
- graph_hash();
- memcpy(cot,co,sizeof(co));
- m=m/2;
- for(int i=0;i<m;i++)
- {
- scanf("%d%d",&a[i][0],&a[i][1]);
- a[i+m][0]=a[i][1];
- a[i+m][1]=a[i][0];
- }
- m=m*2;
- graph_hash();
- bool ans=true;
- for(int i=1;i<=n;i++)
- {
- if(cot[i]!=co[i]){ans=false;break;}
- }
- if(ans==false){printf("different\n");}
- else printf("same\n");
- }
- return 0;
- }
USTC 1119 graph 图的同构的更多相关文章
- 图的同构 (Graph Isomorphism)
整理摘自:https://www.jianshu.com/p/c33b5d1b4cd9 同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系.若这两个数学结构之间存在同 ...
- 论文解读(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》2
Paper Information 论文作者:Zhen Peng.Wenbing Huang.Minnan Luo.Q. Zheng.Yu Rong.Tingyang Xu.Junzhou Huang ...
- 论文解读(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》
Paper Information 论文作者:Zhen Peng.Wenbing Huang.Minnan Luo.Q. Zheng.Yu Rong.Tingyang Xu.Junzhou Huang ...
- macOS 安装 Nebula Graph 看这篇就够了
本文首发于 Nebula Graph Community 公众号 背景 刚学习图数据的内容,当前网上充斥大量的安装文档,参差不齐,部署起来令人十分头疼. 现整理一份比较完整的安装文档,供大家学习参考, ...
- 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》
论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...
- [开发笔记] Graph Databases on developing
TimeWall is a graph databases github It be used to apply mathematic model and social network with gr ...
- Introduction to graph theory 图论/脑网络基础
Source: Connected Brain Figure above: Bullmore E, Sporns O. Complex brain networks: graph theoretica ...
- POJ 2125 Destroying the Graph 二分图最小点权覆盖
Destroying The Graph Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8198 Accepted: 2 ...
- [LeetCode] Number of Connected Components in an Undirected Graph 无向图中的连通区域的个数
Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), ...
随机推荐
- Python3基础 用 函数递归求解 一个数字的阶乘
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- chrome的功能Copy as cURL
https://segmentfault.com/q/1010000002508961
- spring整合mybatis,springMVC的0配置文件方式
0配置文件的形式主要是采用spring3.0提供的@configuration注解和spring容器在启动的时候会加载实现了WebApplicationInitializer的类,并调用其onStar ...
- AFNetWorking 之 网络请求的基本知识
NSString *urlStr = @"http://api.openweathermap.org/data/2.5/forecast/daily"; AFHTTPRequest ...
- 添加Action View
ActionBar上除了可以显示普通的Action Item之外,还可以显示普通的UI组件.为了在ActionBar上添加ActionView,可以使用如下两种方式. 定义ActionItem时使用a ...
- Android项目中打jar包 和 使用
第一步,把普通的android project设置成库项目 库项目也是一个标准的android项目,因此你先创建一个普通的android项目. 这个项目可以起任何的名称,任何的报名,设置其他需要设置的 ...
- C++实现具有基本功能的智能指针
C++中的智能指针实际上是代理模式与RAII的结合. 自定义unique_ptr,主要是release()和reset().代码如下. #include <iostream> using ...
- Spring context:component-scan代替context:annotation-config
Spring context:component-scan代替context:annotation-config XML: <?xml version="1.0" encod ...
- java_JDBC(4)
一.Statement import java.sql.*; public class TestJDBC { public static void main(String[] args) { Conn ...
- iOS RunTime你知道了总得用一下
说点题外话: 我刚来现在这家公司的时候,老板让我下载一个脉脉,上去找找自己的同行,多认识些同行.其实初衷的好的,但最近这两天我把它卸载了,不为别的,负能量太多!iOS这行自从2016就没景气过,在这行 ...