pta-分寝室

目录

输入格式:

输出格式:

输入样例 1:

输出样例 1:

输入样例 2:

输出样例 2:

 思路


学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。
现请你写程序完成寝室的自动分配。分配规则如下:

  • 男女生不能混住;
  • 不允许单人住一间寝室;
  • 对每种性别的学生,每间寝室入住的人数都必须相同;例如不能出现一部分寝室住 2 位女生,一部分寝室住 3 位女生的情况。但女生寝室都是 2 人一间,男生寝室都是 3 人一间,则是允许的;
  • 在有多种分配方案满足前面三项要求的情况下,要求两种性别每间寝室入住的人数差最小。

输入格式:

输入在一行中给出 3 个正整数 n0​、n1​、n,分别对应女生人数、男生人数、寝室数。数字间以空格分隔,均不超过 10^5。

输出格式:

在一行中顺序输出女生和男生被分配的寝室数量,其间以 1 个空格分隔。行首尾不得有多余空格。
如果有解,题目保证解是唯一的。如果无解,则在一行中输出 No Solution

输入样例 1:

24 60 10

输出样例 1:

4 6

注意:输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);或女生 8 间(都是 3 人间)、男生 2 间(都是 30 人间)。但因为人数差都大于 4 而不被采用。

输入样例 2:

29 30 10

输出样例 2:

No Solution

 思路

因为寝室数。数字间以空格分隔,均不超过 10^5。所以我们在初始化mim_gap尽量开大点,for语句中的i为女生寝室个数,n-i为男生寝室个数,第一个if语句就是为了保证每种性别的寝室人数是相同的,else if语句是为了避免一间寝室只有一个人,else语句则去更新人数差最小的情况

code 

#include<iostream>
using namespace std;
int main()
{int n0,n,n1,min_gap=5000000;//min_gap男女宿舍个数差cin>>n0>>n1>>n;int ans=0;for(int i=1;i<n;i++){//i代表女生分配寝室 if(n0%i!=0||n1%(n-i)!=0) continue;else if(n0==i||n1==n-i) continue;else{int man_num=n1/(n-i);//男生一间寝室人数int woman_num=n0/i;//女生一间寝室人数if(abs(man_num-woman_num)<min_gap){min_gap=abs(man_num-woman_num);ans=i;}} }if(ans) cout<<ans<<' '<<n-ans<<endl;else cout<<"No Solution"<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Framework 之 Python

当然可以&#xff0c;我会尽量提供更详细的内容&#xff0c;并增加更多的例子和解释。以下是更详细的Python语言教程&#xff1a; Python语言教程 一、Python简介 Python是一种高级编程语言&#xff0c;由Guido van Rossum于1989年底发明&#xff0c;第一个公开发行版发行于…

【快捷部署】002_Flink(1.17.2)

&#x1f4e3;【快捷部署系列】002期信息 编号选型版本操作系统部署形式部署模式002Flink1.17.2CentOS 7.Xtgz包单机 &#x1f449; 演示视频 Flink一键安装&#xff08;本地模式&#xff09; install-flink.sh 脚本内容 #!/bin/bash ####变量 ###执行脚本的当前目录 mydir$…

【linux】搜索所有目录和子目录下的包含.git的文件并删除

一、linux命令搜索所有目录和子目录下的包含.git的文件 在Linux系统中&#xff0c;要搜索所有目录和子目录下的包含.git的文件&#xff0c;可以使用find命令。find命令允许指定路径、表达式和操作来查找文件。 以下是使用find命令搜索包含.git的文件的方法&#xff1a; 1. 基…

权衡后台数据库设计中是否使用外键

目录 引言 外键简介 对比 真实后台项目中的权衡 结论 引言 在大学学习数据库课程时&#xff0c;我们会早早的接触到外键这一概念&#xff0c;同时我相信大部分人在懂了外键的概念后都会觉得外键很重要&#xff0c;在涉及多表一定要用&#xff0c;但后来在我接触到真实项目…

oracle基础-子查询 备份

一、什么是子查询 子查询是在SQL语句内的另外一条select语句&#xff0c;也被称为内查询活着内select语句。在select、insert、update、delete命令中允许是一个表达式的地方都可以包含子查询&#xff0c;子查询也可以包含在另一个子查询中。 【例1.1】在Scott模式下&#xff0…

Vue生成Canvas二维码

npm install qrcode在Vue组件中引入QRCode库&#xff1a;import QRCode from qrcode;在Vue组件的methods中创建一个方法来生成二维码&#xff1a; generateQRCode() {const canvas this.$refs.qrCodeCanvas; // 获取canvas DOM元素的引用const text Hello, World!; // 要生成…

JVM理解学习

参考视频 运行时数据区 JVM架构总览图 绿色的&#xff1a;方法区&#xff0c;堆&#xff0c;是所有线程共享的 黄色的&#xff1a; 虚拟机栈&#xff0c;本地方法栈&#xff0c;程序计数器&#xff0c;是线程私有的 程序计数器 程序计数器是一块较小的内存空间&#xff0c;物…

SpringBoot(异常处理)

SpringBoot&#xff08;异常处理&#xff09; 1.基本介绍 2.debug异常处理机制 1.找到 DefaultErrorViewResolver 2.下断点 3.debug启动&#xff0c;浏览器输出一个不存在的页面 4.第一次查找 error/404 1.查看目前要找的视图名 2.准备去查找资源 3.准备从四个默认存放静态资…

AcWing.505 火柴排队(离散化逆序对)

题目 涵涵有两盒火柴&#xff0c;每盒装有 n  根火柴&#xff0c;每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列&#xff0c;同一列火柴的高度互不相同&#xff0c;两列火柴之间的距离定义为&#xff1a; ∑i1n(ai−bi)2 其中 ai表示第一列火柴中第 i个火柴的…

[COCI2016-2017#2] Prosječni 解题记录

[COCI2016-2017#2] Prosječni 解题记录 题意简述 构造一个 n n n \times n nn 的矩阵&#xff0c;使得每一行/列的平均都在这一行/列当中&#xff0c;并且矩阵内各个数字不相同。 题目分析 观察样例就可以轻松发现&#xff1a;当 n n n 为奇数时&#xff0c;矩阵内的各个…

开源漏扫工具:DependencyCheck

开源漏扫工具&#xff1a;DependencyCheck Dependency-Check 是 OWASP&#xff08;Open Web Application Security Project&#xff09;的一个实用开源程序&#xff0c;用于识别项目依赖项并检查是否存在任何已知的&#xff0c;公开披露的漏洞。 DependencyCheck是一个开源的…

【并查集】模版

【模板】并查集 - 洛谷 #include <bits/stdc.h> using namespace std; const int N2e59; int a[N]; int Find(int x) {if(xa[x]){return x;}else{a[x]Find(a[x]);return a[x];} } void push(int x,int y) {a[Find(x)]Find(y);return ; } int main() {int n,m; cin>>…

vsto 多插件通信

if (Target.Column 5){Thread.Sleep(5000);Target.Interior.ColorIndex 55;//触发另外一个插件Target.Application.Calculation XlCalculation.xlCalculationAutomatic;Thread.Sleep(5000);//这行执行完之后&#xff0c;才会触发另外一个Target.Interior.ColorIndex 54;} …

Python win32com.client.Dispatch打开Word文档并导出为 PDF时失败Command failed

Python win32com.client.Dispatch打开Word文档并导出为 PDF时失败Command failed 输出异常&#xff1a; (-2147352567, Exception occurred., (0, uMicrosoft Word, uCommand failed, uwdmain11.chm, 36966, -2146824090), None)调试之后&#xff0c;主要是下面几个原因: 路径…

前端实例:页面布局1(后端数据实现)

效果图 注&#xff1a;这里用到后端语言php&#xff08;页面是.php文件&#xff09;,提取纯html也可以用 inemployee_index.php <?php include(includes/session.inc); $Title _(内部员工首页); $ViewTopic 内部员工首页; $BookMark 内部员工首页; include(includes/…

Vue学习日记 Day6 —— Vuex

一、vuex概述 1、目标&#xff1a;明确vuex是什么&#xff0c;应用场景&#xff0c;优势 2、是什么&#xff1a;vuex是一个vue的状态管理工具&#xff0c;状态就是数据 (简述&#xff1a;vuex是一个插件&#xff0c;可以帮我们管理vue通用的数据) 3、场景&#xff1a; (1)…

物理隔离条件下,如何安全高效地进行内外网文件导入导出?

内外网文件导入导出通常指的是在内部网络&#xff08;内网&#xff09;和外部网络&#xff08;外网&#xff09;之间传输文件的过程。这在企业环境中尤其常见&#xff0c;因为内部网络通常包含敏感数据&#xff0c;而外部网络&#xff08;如互联网&#xff09;则允许更广泛的访…

基于 Spark 的电商用户行为分析系统

摘 要 针对传统的大数据处理框架 Hadoop 在执行计算任务时抽象层次低、运行速度慢、无法实时计算等问题, 提出了一种基于内存的分布式框架 Spark 作为计算引擎的方法。结合 Hadoop 框架中的分布式文件存储 技术,设计了一个电商用户行为分析系统。首先根据数据特点建立用户画…

生成对抗网络(GANs):技术演化与广泛应用

目录 前言1 技术原理1.1 基本构成1.2 训练过程1.3 数学原理 2 应用领域2.1 图像合成2.2 数据增强2.3 风格迁移2.4 超分辨率 结论 前言 生成对抗网络&#xff08;GANs&#xff09;&#xff0c;自2014年由Ian Goodfellow及其同事首次提出以来&#xff0c;已经引起了广泛的关注和…

JavaScript进阶:js的一些学习笔记-4

文章目录 1. 拷贝1. 浅拷贝2. 深拷贝 2. 异常处理 1. 拷贝 这里指的拷贝是指拷贝引用类型的数据(对象) 1. 浅拷贝 拷贝对象&#xff1a;Object.assign() 或者 {…obj} 展开运算符 const obj {name:liuze,age:23 } const o {...obj}; o.age 22; console.log(o); console.…