zoukankan      html  css  js  c++  java
  • 「luogu2764」最小路径覆盖问题

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int N=160,M=6010;
     4 int n,m,link[N<<1];
     5 vector<int>point[N<<1];
     6 bool used[N<<1],start[N];
     7 bool find(int k){
     8     for(int i=0;i<point[k].size();i++)if(!used[point[k][i]]){
     9         used[point[k][i]]=1;
    10         if(!link[point[k][i]]||find(link[point[k][i]])){
    11             link[point[k][i]]=k;
    12             return 1;
    13         }
    14     }
    15     return 0;
    16 }
    17 bool vis[N];
    18 int main(){
    19     int t1,t2,ans=0;
    20     scanf("%d%d",&n,&m);
    21     for(int i=1;i<=m;i++){
    22         scanf("%d%d",&t1,&t2);
    23         point[t2].push_back(t1+n);
    24     }
    25     for(int i=1;i<=n;i++){
    26         memset(used,0,sizeof(used));
    27         if(find(i)) ans++;
    28     }
    29     ans=n-ans;
    30     for(int i=1;i<=n;i++){
    31         if(vis[i]) continue;
    32         vis[i]=1;
    33         t1=link[i+n];
    34         while(t1){
    35             vis[t1]=start[t1]=1;
    36             t1=link[t1+n];
    37         }
    38     }
    39     for(int i=1;i<=n;i++)if(!start[i]){
    40         t1=i;
    41         while(t1){
    42             printf("%d ",t1);
    43             t1=link[t1+n];
    44         }
    45         printf("
    ");
    46     }
    47     printf("%d",ans);
    48 }
  • 相关阅读:
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    如何使用webify快速构建Nuxt应用
    “我,不懂代码,36岁转行开发”
  • 原文地址:https://www.cnblogs.com/mycups/p/8527861.html
Copyright © 2011-2022 走看看