杭电3335Divisibility(二分图)
来源:互联网 发布:myfax网络传真机 编辑:程序博客网 时间:2024/05/20 00:16
描述:
这几天做题,大程序写出来了,总犯点小错误,犯小错误也就算了,还是总是找不出来,浪费时间!
坑爹啊!//这是一道二分图最大匹配问题,蛋疼!偷瞄了学长的解题报告!《- 。-》
方法
:选出n个数,任意两个数之间不能出现整除的情况,把能整除的都建边, 要求的就是任意两个之间没有公共边的,
就是最大独立集,用最小路径覆盖同样可以。
#include"stdio.h"
#include"string.h"
int
map[1010][1010],link[1010],mark[1010];
int
n;
__int64
a[1010];
int
find(
int
k)
{
int
i;
for
(i=1;i<=n;i++)
{
if
(!mark[i]&&map[k][i])
{
mark[i]=1;
if
(!link[i]||find(link[i]))
{
link[i]=k;
return
1;
}
}
}
return
0;
}
int
main()
{
int
i,j,t,ans;
scanf
(
"%d"
,&t);
while
(t--)
{
memset
(map,0,
sizeof
(map));
memset
(link,0,
sizeof
(link));
scanf
(
"%d"
,&n);
for
(i=1;i<=n;i++)
scanf
(
"%I64d"
,&a[i]);
for
(i=1;i<=n;i++)
for
(j=1;j<i;j++)
{
if
(a[i]%a[j]==0||a[j]%a[i]==0)
map[j][i]=1;
}
ans=0;
for
(i=1;i<=n;i++)
{
memset
(mark,0,
sizeof
(mark));
if
(find(i))
ans++;
}
printf
(
"%d\n"
,n-ans);
}
return
0;
}
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3335
- 杭电3335Divisibility(二分图)
- HDU 3335 Divisibility(二分图)
- HDU 3335 - Divisibility(二分图)
- hdu 3335 Divisibility(二分匹配)
- hdu(3335)Divisibility
- 杭电ACM1068(二分图)
- 【杭电1179】二分图
- 【杭电2063】二分图
- 杭电2458 Kindergarten(二分图最大匹配)
- 杭电2063二分图匹配(匈牙利算法)
- CodeForces 597A Divisibility(水题)(作死的二分)
- 杭电ACM2063(二分图匹配)
- 杭电ACM1083(二分图匹配)
- 杭电1068二分图匹配
- 【杭电2063】过山车--二分图
- 杭电 2063 java 二分图
- 【杭电oj】1969 - Pie(二分)
- 杭电-1551 剪电缆(二分)
- linux 下学习C语言的前期工作
- 建造者模式随想
- python routine
- selenium验证页面上的UI元素
- JavaSE学习 第十四章 高级IO编程和对象序列化
- 杭电3335Divisibility(二分图)
- VisionMobile:2013年Q3移动开发者经济报告(七):第六章、开发者如何混搭和适配移动平台
- JavaSE学习 第十六章 线程
- 化妆品护肤DiY的广告界面 简单的jquery 图片无缝滚动
- JavaSE学习 第十七章 Java网络编程
- Trace32 Simulator for ARM工具
- window.location.href"、"location.href"
- [转]eclipse中的两种Jre 及 Jre与Jdk的区别+[原创]在Myeclipse中配置Javadoc的方法
- Android学习系列(16)--App列表之圆角ListView