bzoj3624: [Apio2008]免费道路

2021-07-10 17:06

阅读:620

标签:bzoj   define   \n   ++   tag   .com   必须   cto   etc   

目录

  • 题目链接
  • 题解
  • 代码


题目链接

bzoj3624: [Apio2008]免费道路

题解

两边kruskal分别找出必须保留的石子路和软石路
剩下的随便填满k就ok了

代码

#include 
#include 
#include 
#include 
#define gc getchar()
#define pc putchar 
inline int read() { 
    int x = 0,f = 1; 
    char c = gc; 
    while(c  '9')c = gc; 
    while(c = '0') x = x * 10 + c - '0',c = gc; 
    return x * f; 
}
void print(int x) { 
    if(x = 10) print(x / 10); 
    pc(x % 10 + '0'); 
} 
const int maxn = 2000007; 
int a[maxn]; 
int n,m,k; 
struct node { 
    int u,v,w,tag; 
} e[maxn]; 
int num = 0; 
int fa[maxn]; 
inline void add(int a,int b,int c) { 
    e[++ num].u = a,e[num].v = b; e[num].w = c; 
} 
inline bool c1(node a,node b) {
    return a.w  b.w; 
} 
int find(int x) { 
    if(x != fa[x]) fa[x] = find(fa[x]); 
    return fa[x]; 
} 
int main() {
    n = read(),m = read(),k = read(); 
    for(int u,v,w,i = 1;i  k) { 
        puts("no solution"); 
        return 0; 
    }    
    for(int i = 1;i 

bzoj3624: [Apio2008]免费道路

标签:bzoj   define   \n   ++   tag   .com   必须   cto   etc   

原文地址:https://www.cnblogs.com/sssy/p/9678713.html


评论


亲,登录后才可以留言!