当前位置: 首页 > news >正文

【wikioi】1028花店橱窗布置

//暴力搜索
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 110
int d[MAX][MAX];int f,v;int lie[MAX];int vis[MAX];
int ds(int dep)
{//如果dep达到 f 则自动跳出/*如果没有遍历搜索每一种可能如果满足要求,开始下一层递归*/int i,j,k;int r;int x,y;if(dep==f){r=0;for(i=1;i<=f;i++){x=i,y=lie[i];r+=d[x][y];}return r;}else{int max=0;for(i=1;i<=v;i++){if(vis[i]==-1){vis[i]=0;lie[dep+1]=i;k=ds(dep+1);if(k>max)max=k;vis[i]=-1;}}return max;}
}
int main(void)
{freopen("in.txt","r",stdin);int i,j,k;memset(lie,0,sizeof(lie));memset(vis,-1,sizeof(vis));scanf("%d%d",&f,&v);for(i=1;i<=f;i++){for(j=1;j<=v;j++){scanf("%d",&d[i][j]);}}printf("%d\n",ds(0));return 0;
}

#include <stdio.h>
#include <string.h>
#define max(x, y) ((x)>(y) ? (x):(y))
#define min(x, y) ((x)<(y) ? (x):(y))
#define N_MAX 200typedef unsigned char bool;int F, V;
int W[N_MAX][N_MAX];
int Lx[N_MAX];
int Ly[N_MAX];
int left[N_MAX];
bool S[N_MAX], T[N_MAX];
bool b[N_MAX][N_MAX];
bool match(int);
void update();
void KM();int main()
{unsigned long long int ans=0;int i, j;scanf("%d %d", &F, &V);for (i=1;i<=F;i++)for (j=1;j<=V;j++)scanf("%d", &W[i][j]);KM();for (i=1;i<=V;i++)if (b[left[i]][i]==0){ans+=W[left[i]][i];b[left[i]][i]=1;}printf("%llu\n", ans);return 0;
}
bool match(int i)
{int j;S[i]=1;for (j=1;j<=V;j++)if (Lx[i]+Ly[j]==W[i][j] && !T[j]){T[j]=1;if (!left[j] || match(left[j])){left[j]=i;return 1;}}return 0;
}
void update()
{int a=1<<30;int i, j;for (i=1;i<=F;i++)		if (S[i])for (j=1;j<=V;j++)	if (!T[j])a=min(a, Lx[i]+Ly[j]-W[i][j]);for (i=1;i<=V;i++){if (S[i])		Lx[i]-=a;if (T[i])		Ly[i]+=a;}return ;
}
void KM()
{int i, j;memset(left, 0, sizeof(left));memset(Lx, 0, sizeof(Lx));memset(Ly, 0, sizeof(Ly));for (i=1;i<=F;i++)for (j=1;j<=V;j++)Lx[i]=max(Lx[i], W[i][j]);for (i=1;i<=F;i++){for ( ; ; ){for (j=1;j<=V;j++)	S[j]=T[j]=0;if (match(i))	break;	else	update();}}return ;
}


 

http://www.xdnf.cn/news/795277.html

相关文章:

  • 打开服务器文件的asp代码,asp文件用什么打开
  • 几种常见的电平标准
  • Android性能优化全攻略:让你的应用飞起来
  • 计算机网络知识汇总(超详细整理)从零基础入门到精通,看完这一篇就够了
  • 软件功能测试有哪些要注意的地方?技巧总结
  • 手把手教你编写跑马灯——STM32
  • CSS【导航栏】
  • 数据挖掘的10大算法我用大白话讲清楚了,新手一看就懂
  • 上岸必看:C++ 24校招/25实习求职指南
  • AI大模型的企业级部署策略:私有化vs云端的成本效益分析
  • MPLS-EVPN笔记详述
  • 什么浏览器好用稳定速度快?
  • HttpServletResponse对象
  • 电脑虚拟内存不足原因解析与解决办法
  • 5 个最佳网络模拟器:Cisco Packet Tracer、Boson NetSim、GNS3、VIRL、EVE-NG
  • sourceforge.net专题:空间申请使用、绑定域名、上传文件安装程序
  • Fedora 17 安装 完全 指南
  • 资源链接网址
  • 6、ExtJs——Ext基础架构--认识Ext.js和Ext-more.js
  • 数据分析项目有哪些实施流程?揭示从数据准备到解决方案全过程
  • 太强了!三种方案优化 2000w 数据大表!
  • 用百度搜索SB,为什么是google排第一?
  • 回收站占用的是C盘吗?探究文件回收站的存储机制
  • 网络电视服务器是什么系统,网络视频直播系统
  • 网线的制作方法
  • (转)什么时候调用Dialog的dismiss()方法
  • <Linux开发> linux开发工具-之-I2C TOOLS工具使用
  • 盗号不是只有黑客才能到,一枚普通的Python程序员也可以!
  • 正规好用的电脑端抽奖软件有哪些?
  • 实验吧-密码学(三)