程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU3488Tour(KM最小費用圈覆蓋)

HDU3488Tour(KM最小費用圈覆蓋)

編輯:C++入門知識

HDU3488Tour(KM最小費用圈覆蓋)


題意:與HDU1853一樣的題目


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lson (rt<<1),L,M
#define rson (rt<<1|1),M+1,R
#define M ((L+R)>>1)
#define cl(a,b) memset(a,b,sizeof(a));
#define LL long long
#define P pair
#define X first
#define Y second
#define pb push_back
#define fread(zcc)  freopen(zcc,r,stdin)
#define fwrite(zcc) freopen(zcc,w,stdout)
using namespace std;
const int maxn=205;
const int inf=9999999;

int w[maxn][maxn];
int linker[maxn],lx[maxn],ly[maxn],slack[maxn];
bool visx[maxn],visy[maxn];
int nx,ny;

bool dfs(int x){
    visx[x]=true;
    for(int i=0;itmp){
            slack[i]=tmp;
        }
    }
    return false;
}
int km(){
    cl(linker,-1);
    cl(ly,0);
    for(int i=0;ilx[i]){lx[i]=w[i][j];}
    }
    for(int x=0;xinf)return 1;
    return ans;
}

int main(){
    int n,m;
    int T;
    scanf(%d,&T);
    while(T--){
        scanf(%d%d,&n,&m);
        for(int i=0;iw[x][y])w[x][y]=-v;
        }
        nx=ny=n;
        printf(%d
,-km());
    }
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved