标签:问题 ring 运行 amp stream 个人 iostream inf color
有n件工作要分配给n个人做。第i 个人做第j 件工作产生的效益为c[i][j] 。试设计一个将
n件工作分配给n个人做的分配方案,使产生的总效益最大。
对于给定的n件工作和n个人,计算最优分配方案和最差分配方案。
由文件job.in提供输入数据。
文件的第1 行有1 个正整数n,表示有n件工作要分配给n 个人做。
接下来的n 行中,每行有n 个整数c[i][j] ,1≤i≤n,1≤j≤n,
表示第i 个人做第j件工作产生的效益为c[i][j] 。
程序运行结束时,将计算出的最小总效益和最大总效益输出到文件job.out中。
输入文件示例 输出文件示例
job.in
5
2 2 2 1 2
2 3 1 2 4
2 0 1 1 1
2 3 4 3 3
3 2 1 2 1
job.out
5
14
N<=100
发随笔也是颓废时的一种掩饰,,
2333
hhh,,
随便抄的。。
z学长的
ac代码:
1 /* 2 简单的费用流。 3 */ 4 #include<iostream> 5 #include<cstdio> 6 #include<cstring> 7 #include<queue> 8 #define N 210 9 #define inf 1000000000 10 using namespace std; 11 int a[N][N],head[N],dis[N],inq[N],fa[N],n,S,T,cnt=1,ans; 12 struct node{int v,f,w,pre;}e[N*N*4]; 13 queue<int> q; 14 void add(int u,int v,int f,int w){ 15 e[++cnt].v=v;e[cnt].f=f;e[cnt].w=w;e[cnt].pre=head[u];head[u]=cnt; 16 e[++cnt].v=u;e[cnt].f=0;e[cnt].w=-w;e[cnt].pre=head[v];head[v]=cnt; 17 } 18 bool spfa(){ 19 for(int i=0;i<=T;i++) dis[i]=inf; 20 q.push(S);dis[S]=0; 21 while(!q.empty()){ 22 int u=q.front();q.pop();inq[u]=0; 23 for(int i=head[u];i;i=e[i].pre) 24 if(e[i].f&&dis[e[i].v]>dis[u]+e[i].w){ 25 dis[e[i].v]=dis[u]+e[i].w; 26 fa[e[i].v]=i; 27 if(!inq[e[i].v]){ 28 q.push(e[i].v); 29 inq[e[i].v]=1; 30 } 31 } 32 } 33 return dis[T]!=inf; 34 } 35 void updata(){ 36 int i=fa[T],x=inf; 37 while(i){ 38 x=min(x,e[i].f); 39 i=fa[e[i^1].v]; 40 } 41 i=fa[T]; 42 while(i){ 43 e[i].f-=x; 44 e[i^1].f+=x; 45 i=fa[e[i^1].v]; 46 } 47 ans+=x*dis[T]; 48 } 49 void work(int fl){ 50 memset(head,0,sizeof(head)); 51 S=0;T=n*2+1;cnt=1;ans=0; 52 for(int i=1;i<=n;i++) 53 add(S,i,1,0),add(i+n,T,1,0); 54 for(int i=1;i<=n;i++) 55 for(int j=1;j<=n;j++) 56 add(i,j+n,1,a[i][j]*fl); 57 while(spfa()) 58 updata(); 59 printf("%d\n",ans*fl); 60 } 61 int main(){ 62 freopen("job.in","r",stdin); 63 freopen("job.out","w",stdout); 64 scanf("%d",&n); 65 for(int i=1;i<=n;i++) 66 for(int j=1;j<=n;j++) 67 scanf("%d",&a[i][j]); 68 work(1);work(-1); 69 return 0; 70 }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,跟个zz一样看着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。
时间时间会给你答案2333
标签:问题 ring 运行 amp stream 个人 iostream inf color
原文地址:https://www.cnblogs.com/Mary-Sue/p/9270793.html