L1-095 分寝室PTA

2023-10-30

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

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

输入格式:

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

输出格式:

在一行中顺序输出女生和男生被分配的寝室数量,其间以 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

感谢浙江警官职业学院楼满芳老师斧正数据!

代码长度限制 16 KB

时间限制 400 ms

内存限制 64 MB

 

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,x,y,t=0x3f3f3f3f,a,b;
int main(){
	scanf("%d%d%d",&x,&y,&n);
	for(int i=1;i<n;i++){
		if(x%i==0&&y%(n-i)==0){
			if(x/i==1||y/(n-i)==1) continue;
			if(abs(x/i-y/(n-i))<t){
				t=abs(x/i-y/(n-i));
				a=i,b=n-i;
			}
		}	
	}
	if(t==0x3f3f3f3f) cout<<"No Solution";
	else cout<<a<<" "<<b;
	return 0;
} 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L1-095 分寝室PTA 的相关文章

  • 如何使用 VS2022 中的新控制台应用程序模板访问命令行参数

    我想知道如何访问命令行参数 因为这是在Program cs通过 Visual Studio 2022 中控制台应用程序的新模板创建文件 See https aka ms new console template for more infor
  • 从 Dropbox C# 下载文件[重复]

    这个问题在这里已经有答案了 我正在尝试下载 Dropbox 中的 pdf 文件 我需要将其保存到本地计算机中 可以是任何文件夹C Users User Desktop例如 这是我一直在使用的代码 public void DownloadPd
  • C/C++ 程序是在 CPU 上运行还是在内核上运行?

    我已经编程很多年了 但有一件事我一直不明白 有两种类型的编程语言 编译型语言和解释型语言 编译型语言首先需要编译成解释型语言 然后才能执行 例如 C C 需要先编译为机器语言 然后才能执行 我的问题来了 谁真正运行已编译的 C C Wind
  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • 如何自定义 ASP.Net Core 模型绑定错误?

    我只想从我的 Web API Asp net Core 2 1 返回标准化的错误响应 但我似乎不知道如何处理模型绑定错误 该项目刚刚从 ASP NET Core Web 应用程序 gt API 模板创建 我有一个简单的操作定义为 Route
  • 使用 pthread_cond_signal 优雅地终止线程被证明是有问题的

    我需要发射一堆线程 并希望优雅地将它们拉下来 我正在尝试使用pthread cond signal pthread cond wait实现这一目标 但遇到了问题 这是我的代码 首先是thread main static void thrma
  • 通过 EUSART PIC18F45K80 打印消息

    我正在尝试向 Docklight 发送串行消息 但始终收到空值 我正在使用带有 XC8 MPLAB X 的 PIC18F45K80 我的代码中的所有内容似乎都是正确的 但我想我错了 我该如何修复它 include
  • 使用 CMake 对 SDL 的未定义引用

    我正在使用 SDL v1 2 15 7 和 CMake 3 2 1 开发一个项目 在 h 文件中我添加了 include
  • 使用 Process.Start() 打开文件夹时访问被拒绝异常

    我有一个 C 中的 winforms 应用程序 我必须在其中打开某个文件夹 我用 System Diagnostics Process Start pathToFolder 这会导致以下异常 System ComponentModel Wi
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • memccpy 返回比 src 起始地址更低的内存地址

    我有一个学校项目 我必须重新编码memccpy 功能 我使用 2 个程序来检查我的代码是否正常工作 第一个是只有一个主程序的小程序 第二个程序是另一个学生开发的 可以找到here https github com yyang42 mouli
  • 为什么我在这段代码中不断得到两个相同的随机值? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我的随机数生成器在 C 中不是随机的 https stackoverflow com questions 932520 why does it appear that my random num
  • 在 C++ 中初始化指针

    可以在声明时将指针分配给值吗 像这样的东西 int p 1000 是的 您可以在声明时初始化指向值的指针 但是您不能这样做 int p 1000 是个地址运算符 并且您不能将其应用于常量 尽管如果可以 那会很有趣 尝试使用另一个变量 int
  • C++ 虚拟关键字与重写函数

    我正在学习c 并且正在学习virtual关键字 我在互联网上搜索试图理解它但无济于事 我进入编辑器并做了以下实验 期望它打印两次基本消息 因为我的印象是需要 virtual 关键字来覆盖函数 然而 它打印出了两条不同的消息 有人可以向我解释
  • 使用 C# 和 .NET Core 在 AWS Cognito 用户池中进行用户管理

    如何使用 C 和 NET Core 3 x 管理 AWS Cognito 用户池中的用户 在文档中找不到有关它的任何内容 Attilio Gelosa 的原创文章 我写这篇文章是希望对其他人有帮助 我必须阅读一页又一页的文档 并从 AWS
  • 如何在Phone类库项目中添加ResourceDictionary并访问它

    我正在开发一个项目 其中我有一个引用图书馆项目的子项目 在我的库项目 电话类库 中 如何创建 ResourceDictionary xaml 其中我需要添加一些样式并在 xaml 文件和 cs 文件中使用它 我需要访问 xaml 文件中的
  • C# 或 Windows 相当于 OS X 的 Core Data?

    我迟到了 现在才开始在 OS X Cocoa 中使用 Core Data 它令人难以置信 并且确实改变了我看待事物的方式 C 或现代 Windows 框架中是否有等效的技术 即拥有可免费保存 数据管理 删除 搜索的托管数据类型 还想知道Li
  • 将华氏温度转换为摄氏度的 C 程序始终打印零

    我需要一些关于用 C 语言将华氏温度转换为摄氏度的程序的帮助 我的代码如下所示 include
  • C 中函数“fgets”的参数太少

    每当我编译这个错误时 我都会收到该错误 但我不知道为什么 我直接从书上抄袭这个 有人可以帮忙吗 include
  • WPF DataGrid 选定项

    我有一个 DataGrid 用户可以通过在最后一行输入数据来添加项目 我还有一个按钮可以删除当前选定的项目 但是 当选择最后一行 空 用于添加新项目 时 最后选定的项目将保留在 SelectedItem 中 因此 如果我打开窗口 选择最后一

随机推荐

  • 想要以编程方式从RAR中解压缩或提取文件?Aspose.ZIP帮你轻松搞定

    ZIP档案是用来压缩和保持一个或多个文件或文件夹到一个单一的容器中 ZIP归档文件封装了文件和文件夹 并保存了它们的元数据信息 归档的最常见用法是减小用于存储或传输的文件的大小 并应用加密以提高安全性 Aspose ZIP for NET是
  • NVIDIA VIDEO CODEC SDK

    转自 https developer nvidia com nvidia video codec sdk NVIDIA GPU 硬件decoder和encoder是独立于cuda cores NVIDIA GPUs contain one
  • cocos2d-x与lua用法整理

    Cocos2d x 2 20以上版本没有了创建模板 创建的方式改用了Python创建 方法如下 python create project py project HelloWorld package com Panda Game langu
  • 记录日记2021-11-12

    1 python3中判断字符串是否为冲空格则称的方法 利用isspace 放法进行判断 s s isspace 去除左右两端空格 s strip 2 筛选dataframe中某一列包含某些字符串 df df 地址 str contains
  • Android WebView系列(一)WebView的基本使用

    前言 现在越来越多的App都将原生功能开发转向混合开发 原生只写个 外壳 内嵌H5页面 便于维护 今天来介绍下Android中内置的高性能内核浏览器webkit 提供了控件WebView以及API WebView介绍 1 作用 1 渲染we
  • 编译qt5中的multimedia时出fatal error: xxx No such file or directory

    问题描述 利用buildroot勾选中QT5中的multimedia 编译时出现如下错误 In file included from include QtMultimedia qtmultimediadefs h 1 0 from qmed
  • QT信号槽传输过程中指针所指对象的生命周期

    在子线程中的一个槽函数 当读取到dxf文件完成后 结果通过在该槽函数中的 dx data pDxfData 指针变量读取 然后通过QVariant封装该指针变量 发送到主线程中 void qcWorker slotReadDxfFile Q
  • [春秋云镜]CVE-2018-1000533

    声明 中所涉及的技术 思路和 具仅供以安全为 的的学习交流使 任何 不得将其 于 法 途以及盈利等 的 否则后果 承担 所有渗透都需获取授权 靶场介绍 gitlist是一款使用PHP开发的图形化git仓库查看工具 在其0 6 0版本中 存在
  • C(#和##操作符)

    概念 运算符用于在预处理期将宏参数转换为字符串 在预处理期完成 因此只在宏定义中有效 编译器不知道 的转换作用 用法 define STRING x x printf s n STRING Hello World 运算符用于在预处理期粘连两
  • Linux系统下如何修改主机名

    修改主机名从网上找了两种方式 采用第二种方式修改成功 不知我按照第一种方式哪里操作错了 未成功 相关帖链接 Linux系统下如何修改主机名 爱吃牛肉的大老虎的博客 CSDN博客 linux修改主机名 https blog csdn net
  • 基础查看命令

    Linux中命令的使用语法格式 命令 空格 选项 非必须 空格 操作对象 ping命令 探测远程服务是否正常运行 也可以通过ping探测本机是否正常也可以正常上网 格式 ping 探测的对象 eg ping www baidu com 命令
  • 【C语言】输入一行字符串,统计其中的单词数

    include
  • 单片机c语言指针作用,单片机C语言教程:C51指针的使用

    指针就是指变量或数据所在的存储区地址 如一个字符型的变量 STR 存放在内存单元DATA 区的 51H 这个地址中 那么 DATA 区的 51H 地址就是变量 STR 的指针 在 C 语言中指针是一个很重要的概念 正确有效的使用指针类型的数
  • 用python实现二分法

    二分法查找 也称为折半法 是一种在有序数组中查找特定元素的搜索算法 二分法查找的思路如下 1 首先 从数组的中间元素开始搜索 如果该元素正好是目标元素 则搜索过程结束 否则执行下一步 2 如果目标元素大于 小于中间元素 则在数组大于 小于中
  • Mojo~

    llama2 mojo比llama2 c快20 最年轻的语言Mojo惊艳开发者社区 你听说过 Mojo 的 传奇色彩 吗 如果说 Python 是最流行的语言 C 语言是最经典的语言 那么 Mojo 也有它的之最 最年轻 Mojo 能够与
  • MySQL磁盘使用率是什么_云数据库Mysql磁盘使用率高排查优化建议

    场景 MySQL实例可能长时间运行 未进行磁盘及数据管理 导致磁盘使用率升高 尤其当实例显示 磁盘空间满 状态 且数据库不可进行写入操作 会导致实例异常 数据库备份失败潜在风险 数据库实例只读状态 从而影响业务正常运行 本文档通过分析及解决
  • 【知识图谱导论-浙大】第三、四章:知识图谱的抽取与构建

    前文 知识图谱导论 浙大 第一章 知识图谱概论 知识图谱导论 浙大 第二章 知识图谱的表示 说明 原视频中的第三章主要介绍了图数据库相关的内容 有兴趣的可以查看相关课件或者对应的视频 知识图谱理论 浙大2022知识图谱课程 第三讲 知识图谱
  • 从注解@EventListener和@TransactionalEventListener掌握Spring的事件机制原理

    文章目录 Spring事件监听机制 Spring事件监听机制概述 Spring事件监听机制介绍 Spring事件相关的几个类 使用硬编码简单还原Spring事件机制 Spring事件机制正确的使用方式 Spring事件创建 Spring事件
  • Opencv学习二之图像基本操作

    1 如下图所示 一张图像是有很多像素点构成的 每个像素点的取值范围在0 255之间 其表示图像的亮度 0表示是黑点 255表示白点 RGB表示图像的颜色通道 通常彩色图都是RGB三颜色通道 2 图像数据的读取 import cv2 open
  • L1-095 分寝室PTA

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