Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

各位大哥有没有什么数据啊。。。。这里讲过的都过了可是还是WA...

Posted by bigfish9 at 2010-09-05 01:39:55 on Problem 2516
或者好心的帮忙看下代码吧。。。改的都晕了
#include <cstdio>
#include <string.h>
int ans,visit[110],q[1000],pre[110],nn[110][110],mm[110][110],c[51][100][100],flow[110][110],dis[110],n,m,k,kk;
int oo=10000;
int spfa(int s,int t)
{
	int i,d,h,u;
	for (i=0;i<=109;++i) 
		pre[i]=-1,visit[i]=0,dis[i]=oo;
	h=0;d=1;q[1]=s;dis[s]=0;
	visit[s]=1;
	while (h<d)
	{
		++h;
		u=q[h];
		for (i=0;i<=n+m+1;++i)
			if (flow[u][i]>0&&dis[u]+c[kk][u][i]<dis[i])
			{
				dis[i]=dis[u]+c[kk][u][i];
				pre[i]=u;
				if (visit[i]==0) 
				{
					++d;
					q[d]=i;
					visit[i]=1;
				}
			}
		visit[u]=0;
	}
	return dis[n+m+1];
}
int get(int s,int t)
{
	int mc,u,v;
	mc=oo;
	for (u=t;u!=s;)
	{
		v=u;u=pre[u]; 
		if (flow[u][v]<mc) mc=flow[u][v];
	}

	for (u=t;u!=s;)
	{
		v=u;u=pre[u];
		flow[u][v]-=mc;
		flow[v][u]+=mc;
	}
	return mc*dis[n+m+1];
}
int getmincost()
{
	int offer=0,need=0,i,j;
	for (i=1;i<=m;++i)
		offer+=mm[i][k];
	for (i=1;i<=n;++i)
		need+=nn[i][k];
	if (offer<need) return -1;
	ans=0;
	for (kk=1;kk<=k;++kk)
	{
	memset(flow,0,sizeof(flow));
	for (i=1;i<=n;++i)
		flow[i][n+m+1]=nn[i][kk];
	for (i=n+1;i<=n+m;++i)
		flow[0][i]=mm[i-n][kk];
	for (i=1;i<=n;++i)
		for (j=1;j<=m;++j)
			flow[j+n][i]=1000;
	while (spfa(0,n+m+1)!=oo)
		ans+=get(0,n+m+1);
	}
	return ans;
}
int main()
{
	int i,j;
	for(;;)
	{
	scanf("%d%d%d",&n,&m,&k);
	if (n+m+k==0) return 0;
	for (i=1;i<=n;++i)
		for (j=1;j<=k;++j)
			scanf("%d",&nn[i][j]);
    for (i=1;i<=m;++i)
		for (j=1;j<=k;++j)
			scanf("%d",&mm[i][j]);
	memset(c,0,sizeof(c));
	for (kk=1;kk<=k;++kk)
	for (i=1;i<=n;++i)
		for (j=1;j<=m;++j)
		{
			scanf("%d",&c[kk][j+n][i]);
			c[kk][i][j+n]=-c[kk][j+n][i];
		}
	printf("%d\n",getmincost());
	}
}



	

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator