POJ3921
搜索
每次找出最短路 如果小于等于k 那么必定这里有一点是要被删掉的
枚举这个最短路径上的每一个点 (一般不会超过20) 将其相邻边删除
用dijskra求最短路径并且保存即可
深度搜索
#include<cstdio>
#include<cstring>
#define maxn 1000000
bool kill[51],p[51][51],pd[51];
int dist[51],ans,n,m,k;
void dfs(int pans)
{
if(pans>=ans) return;
int i,j,pre[50],minj,minn;
for(i=1;i<=n;i++)
if(p[1][i]&&!kill[i]) {dist[i]=1;pre[i]=1;}
else dist[i]=maxn;
memset(pd,0,sizeof(pd));
dist[1]=0;
pd[1]=1;
for(i=2;i<=n;i++){
minn=maxn;
for(j=1;j<=n;j++)
if(dist[j]<minn&&!pd[j]){
minn=dist[j];
minj=j;
}
if(minn==maxn) break;
pd[minj]=1;
for(j=1;j<=n;j++)
if(dist[j]>dist[minj]+1&&!pd[j]&&p[minj][j]&&!kill[j]){
dist[j]=dist[minj]+1;
pre[j]=minj;
}
}
if(dist[n]<=k){
j=pre[n];
while(j!=1){
kill[j]=1;
dfs(pans+1);
kill[j]=0;
j=pre[j];
}
}
else if(ans>pans) ans=pans;
}
int main()
{
int i,j,x,y;
while(1){
ans=maxn;
scanf("%d%d%d",&n,&m,&k);
if(n==0) break;
memset(p,0,sizeof(p));
memset(kill,0,sizeof(0));
for(i=1;i<=m;i++){
scanf("%d%d",&x,&y);
p[x][y]=1;
}
dfs(0);
printf("%d\n",ans);
}
return 0;
}
POJ3921的更多相关文章
随机推荐
- Python通过Manager方式实现多个无关联进程共享数据
Python官方文档 Python实现多进程间通信的方式有很多种,例如队列,管道等. 但是这些方式只适用于多个进程都是源于同一个父进程的情况. 如果多个进程不是源于同一个父进程,只能用共享内存,信号量 ...
- xaml中绑定单例属性
在项目中经常会遇到,同一个字典表绑定到多个ItemsControl上的情况,可以在单例中创建一个List,xaml上绑定即可.看代码: 1,XAML <Grid> <StackPan ...
- ISBN
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位 ...
- Throwing cards away I
Throwing cards away I Given is an ordered deck of n cards numbered 1 to n with card 1 at the top a ...
- win系统一键安装JDK和Tuxedo
@echo off title JDK和tuxedo环境变量设置 color 0a set /p inputTUX= [请输入你要设置的tuxedo的安装目录:] if /i "%input ...
- 程序使用嵌套的for循环找出2〜100中的素数
#import <Foundation/Foundation.h> int main () { /* local variable definition */ int i, j; ; i& ...
- C++ 字符串各种处理
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...
- 彻底卸载网易UU网游加速器的方法
昨天跟朋友一起玩游戏,网速感觉不怎么好就下了一个免费的网易UU加速器来给对战平台加速,结果加速了以后网速更差,我晕,于是想卸载,可这个加速器口只有一个exe文件,不用安装,但在第一次加速时记得安装了一 ...
- 微软职位内部推荐-SDE
微软近期Open的职位: Organization Summary:Engineering, Community & Online (ECO) is looking for a great & ...
- MyEclipse 8.5配置Tomcat7.0
MyEclipse 8.5配置默认没有Tomcat7.0, 如果想使用怎么办.? window>>Preferences>>MyEclipse Enterprise Workb ...