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

洛谷 P10378 [GESP202403 七级] 交流问题-普及/提高-

题目描述

来自两所学校 A A A B B B n n n 名同学聚在一起相互交流。为了方便起见,我们把这些同学从 1 1 1 n n n 编号。他们共进行了 m m m 次交流,第 i i i 次交流中,编号为 u i , v i u_i, v_i ui,vi 的同学相互探讨了他们感兴趣的话题,并结交成为了新的朋友。

由于这次交流会的目的是促进两校友谊,因此只有不同学校的同学之间会交流。同校同学并不会互相交流。

作为 A A A 校顾问,你对 B B B 校的规模非常感兴趣,你希望求出 B B B 校至少有几名同学、至多有几名同学。

输入格式

第一行两个正整数,表示同学的人数 n n n、交流的次数 m m m
接下来 m m m 行,每行两个整数 u i , v i u_i, v_i ui,vi,表示一次交流。

输出格式

输出一行两个整数,用单个空格隔开,分别表示 B B B 校至少有几名同学、至多有几名同学。

输入输出样例 #1

输入 #1

4 3
1 2
2 3
4 2

输出 #1

1 3

输入输出样例 #2

输入 #2

7 5
1 2
2 3
4 2
5 6
6 7

输出 #2

2 5

说明/提示

数据规模与约定

  • 30 % 30\% 30% 的数据,保证 n ≤ 17 n \leq 17 n17 m ≤ 50 m \leq 50 m50
  • 60 % 60\% 60% 的数据,保证 n ≤ 500 n \leq 500 n500 m ≤ 2000 m \leq 2000 m2000
  • 对全部的测试数据,保证 1 ≤ u i , v i ≤ n ≤ 10 5 1 \leq u_i, v_i \leq n \leq 10^5 1ui,vin105 1 ≤ m ≤ 2 × 10 5 1 \leq m \leq 2\times 10^5 1m2×105,输入是合法的,即交流一定是跨校开展的。

solution

对于每一块一块连通的区域给相邻的节点染不同的两种颜色,统计每种颜色节点的数量。

代码

#include <iostream>
#include "bit"
#include "vector"
#include "unordered_set"
#include "set"
#include "queue"
#include "stack"
#include "algorithm"
#include "bitset"
#include "cstring"using namespace std;int n, m, x, y, cnt[2];
vector<int> e[100001];
bool vis[100001];void dfs(int u, bool col) {cnt[col]++;vis[u] = true;for (int v: e[u]) {if (!vis[v]) {dfs(v, !col);}}
}int main() {cin >> n >> m;for (int i = 0; i < m; i++) {cin >> x >> y;e[x].push_back(y);e[y].push_back(x);}int a = 0, b = 0;for (int i = 1; i <= n; i++) {if (!vis[i]) {dfs(i, false);a += min(cnt[0], cnt[1]);b += max(cnt[0], cnt[1]);cnt[0] = cnt[1] = 0;}}cout << a << " " << b;}

结果

在这里插入图片描述

http://www.lqws.cn/news/499501.html

相关文章:

  • 动漫玩具三维扫描仪扫描三维模型逆向建模-中科米堆
  • 【软考高级系统架构论文】论边缘计算及其应用
  • 基于openfeign拦截器RequestInterceptor实现的微服务之间的夹带转发
  • 【时时三省】(C语言基础)怎样定义指针变量
  • LangChain4j从入门到实战(一)
  • 永磁同步电机无速度算法--基于龙伯格观测器的滑模观测器
  • 基于java SSM的房屋租赁系统设计和实现
  • 一款基于 React 的开源酷炫动画库
  • SAP将指定EXCEL工作SHEET的数据上传到内表
  • K8S下http请求在ingress和nginx间无限循环的问题
  • 创建AWS Bedrock知识库及填坑指南
  • Python如何在解析 YAML 文件时保留每个条目的原始行号信息
  • Camera Sensor接口协议全解析(四)LVDS与SubLVDS接口及协议深度解析
  • Spring容器启动的关键一步:prepareBeanFactory详解
  • 如何制定团队制度?
  • OpenCV——霍夫变换
  • 首席运营官职责与工作内容概述
  • 秋招Day14 - MySQL - 事务
  • Redis哨兵模式深度解析与实战部署
  • 网页动画与交互性:开发者基础指南
  • 基于springboot+uniapp的“川味游”app的设计与实现7000字论文
  • 如何快速判断Excel文档是否被修改过?Excel多版本比对解决方案
  • 操作系统 第九章 部分
  • 线程池 JMM 内存模型
  • PySide环境配置及工具使用
  • 【题解-Acwing】1022. 宠物小精灵之收服
  • 技术逐梦之旅:从C语言到Vue的成长之路
  • LeetCode中K个链表的链接的解法
  • 108页精品PPT | 大型某著名企业能源行业数字化转型汇报方案能源化工数字化转型
  • AI-Sphere-Butler之如何将豆包桌面版对接到AI全能管家~新玩法(一)