A - Jungle Roads 题目链接
#include
#include
#include
#include
using namespace std;
const int INF=0x3f3f3f3f;
const int MAXN=30;
bool vis[MAXN];
int lowc[MAXN];
int cost[MAXN][MAXN];
int Prim(int n)
{
int ans=0;
memset(vis,false,sizeof(vis));
memset(lowc,0,sizeof(lowc));
vis[0]=true;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
for(int j=0;jcost[p][j])
lowc[j]=cost[p][j];
}
}
return ans;
}
void init(int n)
{
for(int i=0;i
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const double INF=0x3f3f3f3f;
const int MAXN=109;
bool vis[MAXN];
double lowc[MAXN];
double cost[MAXN][MAXN];
double Prim(int n)
{
double ans=0;
memset(vis,false,sizeof(vis));
memset(lowc,0,sizeof(lowc));
vis[0]=true;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
for(int j=0;jcost[p][j])
lowc[j]=cost[p][j];
}
}
return ans;
}
void init(int n)
{
for(int i=0;i
#include
#include
#include
#include
#include
using namespace std;
const int INF=0x3f3f3f3f;
const int MAXN=109;
bool vis[MAXN];
int lowc[MAXN];
int cost[MAXN][MAXN];
int Prim(int n)
{
int ans=0;
memset(vis,false,sizeof(vis));
memset(lowc,0,sizeof(lowc));
vis[0]=true;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
for(int j=0;jcost[p][j])
lowc[j]=cost[p][j];
}
}
return ans;
}
void init(int n)
{
for(int i=0;i
#include
#include
#include
#include
#include
using namespace std;
const int INF=0x3f3f3f3f;
const int MAXN=1009;
bool vis[MAXN];
int lowc[MAXN];
int pre[MAXN];
int Max[MAXN][MAXN];
bool used[MAXN][MAXN];
int prim(int cost[][MAXN],int n)
{
int ans=0;
memset(vis,false,sizeof(vis));
memset(Max,0,sizeof(Max));
memset(used,false,sizeof(used));
vis[0]=true;
pre[0]=-1;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
used[p][pre[p]]=used[pre[p]][p]=true;
for(int j=0;jcost[p][j])
{
lowc[j]=cost[p][j];
pre[j]=p;
}
}
}
return ans;
}
int Prim(int cost[][MAXN],int n)
{
double ans=0;
memset(vis,false,sizeof(vis));
memset(lowc,0,sizeof(lowc));
vis[0]=true;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
for(int j=0;jcost[p][j])
lowc[j]=cost[p][j];
}
}
return ans;
}
void init(int cost[][MAXN],int n)
{
for(int i=0;i
I -
Agri-Net 题目链接
#include
#include
#include
#include
#include
#include
#include
#include
此题错了5次。。
#include
#include
#include
#include
#include
using namespace std;
const int INF=0x3f3f3f3f;
const int MAXN=109;
bool vis[MAXN];
int lowc[MAXN];
int pre[MAXN];
int Max[MAXN][MAXN];
bool used[MAXN][MAXN];
int prim(int cost[][MAXN],int n)
{
int ans=0;
memset(vis,false,sizeof(vis));
memset(Max,0,sizeof(Max));
memset(used,false,sizeof(used));
vis[0]=true;
pre[0]=-1;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
used[p][pre[p]]=used[pre[p]][p]=true;
for(int j=0;jcost[p][j])
{
lowc[j]=cost[p][j];
pre[j]=p;
}
}
}
return ans;
}
int Prim(int cost[][MAXN],int n)
{
double ans=0;
memset(vis,false,sizeof(vis));
memset(lowc,0,sizeof(lowc));
vis[0]=true;
for(int i=1;ilowc[j])
{
minc=lowc[j];
p=j;
}
}
if(minc==INF)
return -1;
ans+=minc;
vis[p]=true;
for(int j=0;jcost[p][j])
lowc[j]=cost[p][j];
}
}
return ans;
}
void init(int cost[][MAXN],int n)
{
for(int i=0;i
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include