Untitled
unknown
plain_text
4 years ago
2.6 kB
10
Indexable
void add_edge(Graph* G, int x, int y) {
G->edges[G->m].x=x;
G->edges[G->m].y=y;
G->m++;
}
bai2
void add_edge(Graph* G, int x, int y) {
if(x<1||x>G->n || y<1 || y>G->n) {
return;
}
G->edges[G->m].x=x;
G->edges[G->m].y=y;
G->m++;
}
bai3
void add_edge(Graph* G, int e, int x, int y) {
if(x==y) {
G->A[x][e]=2 ;
}
if(G->A[x][e] && G->A[y][e]) {
G->A[x][e]=2;
G->A[y][e]=2;
}
else {
G->A[x][e]=1;
G->A[y][e]=1;
}
}
4
void add_edge(Graph* G, int e, int x, int y) {
G->A[x][e]=1;
G->A[y][e]=1;
}
5
List neighbors(Graph* G, int x) {
List L;
make_null(&L);
int e, y;
for (y = 1; y <= G->n; y++) {
if (x == y) continue;
for (e = 1; e <= G->m; e++)
if (G->A[x][e] > 0 && G->A[y][e] > 0) {
push_back(&L, y);
break;
}
}
return L;
}
6
int edgeCount(Graph *G) {
int i, j, count=0;
for(i=1; i<=G->n; i++) {
for(j=1; j<=G->n; j++) {
count+=G->A[i][j];
}
}
return count/2;
}
7
#include<stdio.h>
#define MAX_N 100
typedef struct{
int n;
int A[MAX_N][MAX_N];
}Graph;
void init_graph(Graph *G, int n){
int i,j;
G->n=n;
for ( i=1; i<= n; i++){
for ( j=1; j<= n; j++)
G->A[i][j]=0;
}
}
void add_edge(Graph *G, int x, int y){
G->A[x][y]=1;
G->A[y][x]=1;
}
int main(){
int e,n,m,u,v,i,j;
Graph G;
freopen("dt1.txt","r",stdin);
scanf("%d%d", &n, &m);
init_graph(&G, n);
for(e=1; e<=n; e++){
scanf("%d%d",&u ,&v);
add_edge(&G, u, v);
}
for (i=1; i<=G.n; i++){
for (j=1; j<=G.n; j++){
printf("%d ",G.A[i][j]);
}
printf("\n");
}
return 0;
}
8
#include<stdio.h>
typedef struct{
int n,m;
int A[100][100];
}Graph;
void init_graph(Graph *G, int x){
int i,j;
G->n=x;
for(i=1;i<=G->n;i++){
for(j=1;j<=G->n;j++){
G->A[i][j]=0;
}
}
}
void add_edge(Graph *G, int x, int y){
G->A[x][y]=1;
G->A[y][x]=1;
G->m++;
}
int count(Graph *G,int x){
int i,def=0;
for(i=1;i<=G->n;i++){
def+=G->A[x][i];
}
return def;
}
int main(){
Graph G;
int n, m, u, v, e;
scanf("%d %d", &n, &m);
init_graph(&G, n);
for (e = 0; e < m; e++) {
scanf("%d %d", &u, &v);
add_edge(&G, u, v);
}
int i, min=999,num;
for(i=1;i<=u;i++){
if(count(&G,i)<min){
min=count(&G,i);
num=i;
}
}
printf("%d %d",num,min);
return 0;
}Editor is loading...