当前位置: 首页 > news >正文

去西安旅游最佳路线/南京seo关键词排名

去西安旅游最佳路线,南京seo关键词排名,南宁专业网络推广公司,广州网站建设信科便宜Codevs 1535 封锁阳光大学 根据题意将相邻的点染色, 如果在染色过程中碰到下一个点跟自己同色的情况就 不合法;把图染完色后,记录一下每种颜色的数量,取最小值, 如果是森林, 最后的答案是就每一个分图 的 …

Codevs 1535 封锁阳光大学

根据题意将相邻的点染色, 如果在染色过程中碰到下一个点跟自己同色的情况就 不合法;把图染完色后,记录一下每种颜色的数量,取最小值, 如果是森林, 最后的答案是就每一个分图 的 min 相加。

DFS

#include <cstdio>
#include <cstring>
#include <queue>
#include <iostream>
using namespace std;#define MAX_V (10000+10)
#define MAX_E (100000+10)
int V, E, tot = 0;
int first[MAX_V], nxt[MAX_E << 1];
int vis[MAX_V];
struct edge{int from, to;
}es[MAX_E << 1];void build(int ff, int tt)
{es[++tot] = (edge){ff,tt};nxt[tot] = first[ff];first[ff] = tot;
}bool h = 0;
int ans1 = 0, ans2 = 0;
void dfs(int x, int c)
{vis[x] = c;if(c == 1) ans1 ++;else ans2 ++;for(int i = first[x]; i != -1; i = nxt[i]){int v = es[i].to;if(vis[v]){if(vis[v] == c){h = 1;return;}continue;}dfs(v, c%2+1);}
}int main()
{cin >> V >> E;memset(first,-1,sizeof(first));for(int i = 1; i <= E; i ++){int f, t;scanf("%d%d", &f, &t);build(f,t); build(t,f);}int ans = 0;for(int i = 1; i <= V && !h; i ++)if(!vis[i]){ans1 = ans2 = 0;dfs(i,1);ans += min(ans1, ans2);}if(h) puts("Impossible");else printf("%d\n", ans);return 0;
}

BFS

#include <cstdio>
#include <cstring>
#include <queue>
#include <iostream>
using namespace std;#define MAX_V (10000+10)
#define MAX_E (100000+10)
int V, E, tot = 0;
int first[MAX_V], nxt[MAX_E << 1];
int vis[MAX_V];
struct edge{int from, to;
}es[MAX_E << 1];void build(int ff, int tt)
{es[++tot] = (edge){ff,tt};nxt[tot] = first[ff];first[ff] = tot;
}struct ZT{int x, c;
};bool h = 0;
int ans1 = 0, ans2 = 0;
queue <ZT> q;
void bfs(int x, int c)
{q.push((ZT){x,c});vis[x] = c;while(q.size()){ZT x = q.front();q.pop();if(x.c == 1) ans1 ++;else ans2 ++;for(int i = first[x.x]; i != -1; i = nxt[i]){int v = es[i].to;if(vis[v]){if(vis[v] == x.c){h = 1;return;}continue;}vis[v] = x.c%2+1;q.push((ZT){v, x.c%2+1});}}
}int main()
{cin >> V >> E;memset(first,-1,sizeof(first));for(int i = 1; i <= E; i ++){int f, t;scanf("%d%d", &f, &t);build(f,t); build(t,f);}int ans = 0;for(int i = 1; i <= V && !h; i ++)if(!vis[i]){ans1 = ans2 = 0;bfs(i,1);ans += min(ans1, ans2);}if(h) puts("Impossible");else printf("%d\n", ans);return 0;
}
http://www.lbrq.cn/news/1595845.html

相关文章:

  • 可以做词云的网站/推广链接让别人点击
  • 专业的扬州网站建设/营销推广是什么
  • 北京海岸设计公司网站/网店运营推广登录入口
  • 网站制作应该注意到的问题/精准营销的概念
  • 重庆专业建网站/电子商务网站推广
  • 有没有做装修的大型网站而不是平台/南京疫情最新情况
  • 网站源码程序修改/软文营销方法有哪些
  • 怎样创建个人购物网站/百度竞价排名费用
  • 博客论坛网站开发/电商运营是做什么的
  • 三杰网站建设/合肥头条今日头条新闻最新消息
  • 福州做网站的公司电话/学历提升
  • 微信营销和网站建设/关于校园推广的软文
  • 做电子外贸网站建设/网站排名优化培训电话
  • 库尔勒北京网站建设/网络营销产品推广方案
  • 吉林一站式网站建设介绍/肇庆seo外包公司
  • b2b网站解决方案/百度付费问答平台
  • 网站怎么可以做视频播放/南昌企业网站建设
  • 网站开发开题报告计划进度安排/聚名网
  • 子网站如何做/深圳推广平台深圳网络推广
  • 网站开发招聘名称/爱站网seo综合查询工具
  • 网站建设服务商/谷歌seo是指什么意思
  • 一个公司做多个网站是好还是坏/免费私人网站建设软件
  • 个人网站需求分析/搜狗网页搜索
  • 交友网站app推广/网络营销的含义
  • 天门网站/网站页面优化方案
  • 网站根目录 设置/上海已经开始二次感染了
  • 移动端网站模板怎么做的/贵州seo和网络推广
  • win7 iis 网站/seo流量排名软件
  • 坪地网站建设哪家好/如何百度推广
  • 网站设计报价单/营销推广活动策划书模板
  • 查看部署在K8S服务的资源使用情况
  • Apache OFBiz Scrum 组件命令注入漏洞
  • GoLand 项目从 0 到 1:第五天 —— 角色权限中间件实现与事务控制
  • Redis备份方案:持久化与外部工具全解析
  • VUE-第二季-02
  • ESP-idf框架下的HTTP服务器\HTML 485温湿度采集并长传