news 2026/8/9 16:20:03

打卡信奥刷题(2541)用C++实现信奥 P2071 座位安排

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2541)用C++实现信奥 P2071 座位安排

P2071 座位安排

题目背景

公元二零一四年四月十七日,小明参加了省赛,在一路上,他遇到了许多问题,请你帮他解决。

题目描述

已知车上有NNN排座位,有2N2N2N个人参加省赛,每排座位只能坐两人,且每个人都有自己想坐的排数,问最多使多少人坐到自己想坐的位置。

输入格式

第一行,一个正整数NNN

第二行至第2N+12N+12N+1行,每行两个正整数Si,1,Si,2S_{i, 1},S_{i, 2}Si,1,Si,2,为每个人想坐的排数。

输出格式

一个非负整数,为最多使得多少人满意。

输入输出样例 #1

输入 #1

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

输出 #1

7

说明/提示

对于10%10\%10%的数据,n≤10n \le 10n10

对于30%30\%30%的数据,n≤50n \le 50n50

对于60%60\%60%的数据,n≤200n \le 200n200

对于100%100\%100%的数据,n≤2000n \le 2000n2000

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=5100;intlink[N],cnt[N],w[N][N];boolused[N];intans,n;intx,y;boolfind(intx){for(inti=1;i<=cnt[x];i++){if(!used[w[x][i]]){used[w[x][i]]=true;if(!link[w[x][i]]||find(link[w[x][i]])){link[w[x][i]]=x;returntrue;}}}returnfalse;}voidxyl(){for(inti=1;i<=n*2;i++){memset(used,0,sizeof(used));if(find(i))ans++;}}intmain(){cin>>n;for(inti=1;i<=n*2;i++){cin>>x>>y;w[i][++cnt[i]]=x;w[i][++cnt[i]]=x+n;w[i][++cnt[i]]=y;w[i][++cnt[i]]=y+n;}xyl();cout<<ans;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/8 15:49:22

鸿蒙PC UI控件库 - Label 基础标签详解

视频演示地址&#xff1a; https://www.bilibili.com/video/BV1jomdBBE4H/ &#x1f4cb; 目录 概述特性快速开始API 参考使用示例主题配置最佳实践常见问题总结 概述 Label 是控件库中的基础标签组件&#xff0c;支持多种尺寸、颜色、图标等功能&#xff0c;适用于状态标…

作者头像 李华
网站建设 2026/8/9 11:07:04

分享一个vscode的todo插件(todo Tree 包含使用

TodoTree插件是一款高效的任务管理工具&#xff0c;用户可通过插件商店下载安装。该插件以树状结构展示文件列表&#xff0c;支持使用Ctrl/快捷键快速添加注释&#xff0c;输入"TODO"即可标记待办事项。安装后能直观查看和管理代码中的任务标记&#xff0c;提升开发效…

作者头像 李华
网站建设 2026/8/8 7:33:46

踩坑记:DBeaver连接GBase 8S时“编码转换失败”的终极解决

本文由真实问题排查过程整理&#xff0c;适用于使用 DBeaver 连接 GBase 8s 遇到 java.sql.SQLException: 数据库地点信息不匹配 的开发者。问题现象 在 DBeaver 中使用官方 JDBC 驱动连接 image_analysis_db 时&#xff0c;只要 SQL 中包含中文&#xff0c;例如&#xff1a; I…

作者头像 李华
网站建设 2026/8/9 10:10:32

Java反射机制:原理、应用与最佳实践

在Java开发中&#xff0c;反射机制是一项核心且强大的技术&#xff0c;它允许程序在运行时获取类的信息、操作对象的属性和方法&#xff0c;甚至动态创建对象。本文将从原理、应用场景到最佳实践&#xff0c;全面解析Java反射机制&#xff0c;帮助开发者灵活运用这一技术。一、…

作者头像 李华
网站建设 2026/8/8 6:21:24

ReAct+LangGraph:构建大模型智能体的完整指南(含代码示例)

简介 本文详细介绍了如何使用LangGraph框架构建ReAct智能体&#xff0c;分为硬编码和基于大语言模型两种实现方式。ReAct框架通过"推理行动"的循环流程&#xff0c;使智能体能思考并解决问题。LangGraph允许将智能体行为定义为"图"结构&#xff0c;支持复杂…

作者头像 李华
网站建设 2026/8/6 5:13:33

从千问灵光 App 看生成式 UI 技术的发展

本文由体验技术团队OpenTiny项目负责人莫春辉老师原创。 引言 2025 年 11 月 18 日&#xff0c;蚂蚁集团全模态通用 AI 助手——灵光 App 发布&#xff0c;上线两周用户已创建 330 万个闪应用。这一现象级数据的背后&#xff0c;不仅是开发效率的提升&#xff0c;更是人机交互…

作者头像 李华