2021年初寒假训练第24场 B. 庆功会(搜索)

简介: 2021年初寒假训练第24场 B. 庆功会(搜索)

Description

NOIP结束之后,为了庆祝同学们取得的优异成绩,学校决定召开一次 Party。发邀请函的工作交到了你的手上。

为了能让这次Party开得圆满顺利,对于这次邀请的同学们有两个要求:首先,每个同学认识的同学不少于a个,否则的话这个同学会感到孤单;其次,每个同学不认识的同学不少于b个,否则的话他(她)就没有机会认识新朋友。

但是学校想让这次Party开得越大越好。所以请你计算一下,最多可以邀请多少个同学?

Input

第一行四个数,N,M,a,b。总共有 N 个同学,这些同学从 1 到 N编号。

后接 MM行,每行两个数 ai、bi,表示这两个同学互相认识。

Output

一行一个数,表示最多可以邀请的同学数。

Samples

Input

4 3 1 1
1 2
2 3
3 4

Output

4

Input

5 5 2 1 
2 3 
3 1 
4 5 
3 4 
2 5

Output

4

Hint

【数据规模】

对于20%的数据,N<20。

对于全部的数据,1≤a,b≤N≤500,0≤M≤N∗(N–1)/2。


思路:


正着考虑不好处理,考虑反着考虑。


假设开始的时候所有人都被选上,那么有哪些人是不应当选的呢。


就是认识的人小于a或是不认识的人小于b的人。


把这些人去除后,会对剩下的人产生影响。


dfs处理就好了。


OJ有点卡快读。


代码:

const int maxn=510;
int mp[maxn][maxn];
int da[maxn],db[maxn];
int n,m,a,b;
bool vis[maxn];
void dfs(int u){
  for(int i=1;i<=n;i++)
    if(!vis[i]){//优化
      if(mp[u][i]) da[i]--;///认识的话,认识的人-1 
      else db[i]--;//否则,不认识的人-1 
      if(da[i]<a||db[i]<b){
        vis[i]=1;
        dfs(i);
      }
    }
} 
void solve(){
  scanf("%d%d%d%d",&n,&m,&a,&b);
//  n=read(),m=read(),a=read(),b=read();
  for(int i=1;i<=m;i++){
    //int u=read(),v=read();
    int u,v;
    scanf("%d%d",&u,&v);
    da[u]++;da[v]++;
    mp[u][v]=mp[v][u]=1;///两人认识 
  }
  for(int i=1;i<=n;i++)
    db[i]=n-da[i]-1;
  for(int i=1;i<=n;i++){
    if(!vis[i]&&(da[i]<a||db[i]<b)){
      ///一定不行
      vis[i]=1;
      dfs(i);///该人不来参加对其他人的影响 
    }
  }
  int res=0;
  for(int i=1;i<=n;i++)
    if(!vis[i]) res++;///合理 
  printf("%d\n",res);
}
目录
相关文章
|
1月前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。
27 3
|
9月前
|
存储 缓存 人工智能
基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发
基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发
39837 0
|
算法
算法:懒惰的牛
题目: 这是一个炎热的夏日。 懒洋洋的奶牛贝茜想将自己放置在田野中的某个位置,以便可以在短距离内尽可能多地吃到美味的草。 贝茜所在的田野中共有 N 片草地,我们可以将田野视作一个一维数轴。
88 0
|
数据可视化 前端开发 Python
基于搜索指数可视化分析近十年的中秋热度
基于搜索指数可视化分析近十年的中秋热度
137 0
基于搜索指数可视化分析近十年的中秋热度
|
编译器 开发工具 Windows
Qt使用过程中,遇到error及解决方法总结
Qt使用过程中,遇到error及解决方法总结
|
3天前
|
Kubernetes 测试技术 应用服务中间件
基于 Nginx Ingress + 云效 AppStack 实现灰度发布
本文将演示结合云效 AppStack,来看下如何在阿里云 ACK 集群上进行应用的 Ingress 灰度发布。
64262 9
|
7天前
|
人工智能 Linux Docker
一文详解几种常见本地大模型个人知识库工具部署、微调及对比选型(1)
近年来,大模型在AI领域崭露头角,成为技术创新的重要驱动力。从AlphaGo的胜利到GPT系列的推出,大模型展现出了强大的语言生成、理解和多任务处理能力,预示着智能化转型的新阶段。然而,要将大模型的潜力转化为实际生产力,需要克服理论到实践的鸿沟,实现从实验室到现实世界的落地应用。阿里云去年在云栖大会上发布了一系列基于通义大模型的创新应用,标志着大模型技术开始走向大规模商业化和产业化。这些应用展示了大模型在交通、电力、金融、政务、教育等多个行业的广阔应用前景,并揭示了构建具有行业特色的“行业大模型”这一趋势,大模型知识库概念随之诞生。
123254 17
|
9天前
|
存储 SQL 搜索推荐
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
|
9天前
|
存储 运维 安全
Greenplum闭源?平滑迁移到 AnalyticDB 开启Data+AI新范式
知名开源 MPP 数据库 Greenplum 由于其丰富的企业级特性和出色的数据处理能力成为很多企业构建数仓的首选。近期 GP 公开 Github 仓库无法访问仅保留只读归档代码,业界纷纷猜测 GP 即将闭源。云原生数仓 AnalyticDB PostgreSQL 版完全掌控内核代码,完全兼容GP语法,全自研计算及存储引擎较比开源GP有五倍性能提升,全自研企业级特性在实时计算、弹性扩展、安全增强、高可用等方面实现对GP的全面超越,并在数仓能力上扩展了向量检索及一站式 RAG 服务,帮助企业快速构建 AI 应用、开启 Data+AI 新范式。
58819 1
|
11天前
|
搜索推荐 API 对象存储
10分钟学会构建端到端的图片搜索服务
本文介绍在没有向量数据的情况下,怎样通过OpenSearch-向量检索版快速从零搭建图像搜索服务。
81430 69

热门文章

最新文章