PTA L1-095 分寝室 (20 分)

这篇具有很好参考价值的文章主要介绍了PTA L1-095 分寝室 (20 分)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

输出格式:

在一行中顺序输出女生和男生被分配的寝室数量,其间以 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 而不被采用。文章来源地址https://www.toymoban.com/news/detail-422401.html

输入样例 2:
29 30 10
输出样例 2:
No Solution
#include<bits/stdc++.h>
using namespace std;

int main()
{
	int a,b,n;cin>>a>>b>>n;
	int a1=-1,b1=-1,mn=1000000;
	for(int i=1;i<=n-1;i++)
	{
		int j=n-i;
		if(a!=i && a%i==0 && b%j==0 &&b!=j)
		{
			int aa=a/i,bb=b/j,res=abs(aa-bb);
			if(mn>res) a1=i,b1=j,mn=res; 
		}
	} 
	if(a1==-1 && b1==-1) cout<<"No Solution";
	else cout<<a1<<" "<<b1;
	return 0;
}

到了这里,关于PTA L1-095 分寝室 (20 分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PTA】L1-039 古风排版(C++)

    题目链接:L1-039 古风排版 - 团体程序设计天梯赛-练习集 (pintia.cn)  目录: 题目要求: 输入格式: 输出格式: 输入样例: 输出样例: 思路: 代码: 测试结果: ​编辑  中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入在第

    2024年03月26日
    浏览(79)
  • PTA L1-049 天梯赛座位分配(详解)

    前言:内容包括:题目,代码实现,大致思路,代码解读 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令

    2024年02月03日
    浏览(31)
  • 【PTA】L1-043 阅览室(C++)

    题目链接:L1-043 阅览室 - 团体程序设计天梯赛-练习集 (pintia.cn)  目录: 题目要求: 输入格式: 输出格式: 输入样例: 输出样例:  思路: 代码:; 测试结果: 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下 S 键,程序开始

    2024年04月15日
    浏览(68)
  • PTA——L1-023 输出GPLT(c语言)

    给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 GPLTGPLT.... 这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 GPLT 的顺序打印,直到所有字符都被输

    2024年02月13日
    浏览(27)
  • PTA L1-048 矩阵A乘以B

    前言:内容包括四大模块:题目,代码实现,大致思路,代码解读 给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。 输入格式: 输入

    2024年02月04日
    浏览(22)
  • 2023 PTA天梯赛补题(L1 & L2)

    输入输出题 输入输出题 k == n 和 k == m 分别输出,题目怎么说就怎么做 判断一下c 等于a + b还是a*b或者都不是,分别按要求输出 针对每一群玩游戏的宝宝,枚举判断一下就好了 写的有点烦,基本就是一步一步模拟,思路在注释里写了 枚举分配方案,代码中a代表女生寝室的数

    2024年02月03日
    浏览(28)
  • PTA L1-025 正整数A+B(详解)

    前言:本期是关于正整数A+B的详解,内容包括四大模块:题目,代码实现,大致思路,代码解读,今天你c了吗?   题的目标很简单,就是求两个正整数 A 和 B 的和,其中 A 和 B 都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出

    2023年04月21日
    浏览(26)
  • pta模拟赛 L1-8 小偷踩点(C++)

    阅读理解太难了  俗话说不怕贼偷,就怕贼惦记。 小偷在作案前有时会在居民家的门、墙上做一些标记,每一种记号代表一个含义,一般人看不懂,但同行一看便知道这个家庭的情况。不过派出所干警也不是吃素的,很快破译了这些记号的含义(如上图),并且在辖区内广为

    2024年04月26日
    浏览(64)
  • PTA L1-048 矩阵A乘以B C语言

    输入样例1: 输出样例1: 输入样例2: 输出样例2: 也就是: 第一个矩阵第一行的每个值与第二个矩阵第一列的每个值对应相乘后加和起来,就得到了乘积矩阵的第一行的第一个值 第一个矩阵第一行的每个值与第二个矩阵第二列的每个值对应相乘后加和起来,就得到了乘积矩

    2024年02月03日
    浏览(32)
  • PTA L1-064 估值一亿的AI核心代码(详解)

    前言:内容包括:题目,代码实现,大致思路,代码解读 以上图片来自新浪微博。 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是: 无论用户说什么,首先把对方说的话在一行中原样打印出来; 消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包