首页 > 编程语言 >信奥赛C++老师解一本通题:1182:合影效果

信奥赛C++老师解一本通题:1182:合影效果

时间:2024-09-06 17:18:33浏览次数:12  
标签:p1 int 信奥赛 1182 sex 通题 female male 浮点数

【题目描述】

小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?

【输入】

第一行是人数nn(2≤n≤40,且至少有1个男生和1个女生)。

后面紧跟nn行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),两个数据之间以空格分隔。

【输出】

n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点数需保留到小数点后2位,相邻两个数之间用单个空格隔开。

【输入样例】

6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56

【输出样例】

1.65 1.72 1.78 1.70 1.61 1.56

 

#include <bits/stdc++.h>
using namespace std;
struct Person
{
	string sex;
	double high;
}a[41];
bool cmp(Person p1,Person p2)
{
	if(p1.sex=="male"&&p2.sex=="male")
		return p1.high<p2.high;
	else if(p1.sex=="female"&&p2.sex=="female")
		return p1.high>p2.high;
	return p1.sex>p2.sex;
}
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i].sex>>a[i].high;
	sort(a+1,a+1+n,cmp);
	for(int i=1;i<=n;i++)
		printf("%.2lf ",a[i].high);
	return 0;
}

 

标签:p1,int,信奥赛,1182,sex,通题,female,male,浮点数
From: https://www.cnblogs.com/nanshaquxinaosai/p/18400630

相关文章

  • 信奥赛C++老师解一本通题:1938:【07NOIP普及组】奖学金
    ​【题目描述】某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排......
  • 信奥赛C++老师解一本通题: 1180:分数线划定
    ​ 【题目描述】世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手......
  • 南沙信C++陈老师解一本通题: 2031:【例4.17】四位完全平方数
    ​ 题目描述】输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。【输入】无【输出】由小到大输出,每个数占一行。【输入样例】无【输出样例】无#include<bits/stdc++.h>usingnamespacestd;boolisSquare(intn){ inttmp=(int)sqrt(n......
  • 南沙信奥赛家教老师解题:1249:Lake Counting
    ​ 【题目描述】题意:有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?【输入】第一行为N,M(1≤N,M≤110)。下面为N*M的土地示意图。【输出】一行,共有的水洼数。【输入样例】1012W..............
  • 南沙信奥赛C++陈老师解一本通题:1341:【例题】一笔画问题
    ​ 题目描述】如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行dfs,时间复杂度为O(m+n),m为边数,n是点数。【输入】第一行n,m,有n个点,m条......
  • 南沙信奥塞陈老师解一本通题:1408:素数回文数的个数
     【题目描述】求11到n之间(包括n),既是素数又是回文数的整数有多少个。【输入】一个大于11小于1000的整数n。【输出】11到n之间的素数回文数个数。【输入样例】23【输出样例】1【提示】提示:回文数指左右对称的数,如:292,333。 #include<bits/stdc++......
  • 南沙信奥塞陈老师解一本通题:1409:判决素数个数
    ​ 【题目描述】输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。【输入】两个整数X和Y(1≤X,Y≤105)。#include<bits/stdc++.h>usingnamespacestd;boolIsPrime(intn){ if(n<=1) returnfalse; for(inti=2;i<=sqrt(n);i++) if(n%i==0) returnfalse; re......
  • 南沙信奥赛老师解一本通题:1410:最大质因子序列
    ​【题目描述】任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。【输入】一行,包含两个正整数m和n,其间以单个空格间隔。【输出】一行,每个整数的最大质因子,以逗号间隔。【输入样例】510【输......
  • 南沙信奥赛老师解一本通题: 1413:确定进制
    ​题目描述】  【输入】一行,包含三个整数p、q、r。p、q、r的所有位都是数字,并且1≤p、q、r≤1,000,000。【输出】一个整数:即使得p×q=r成立的最小的B。如果没有合适的B,则输出0。【输入样例】6942【输出样例】13 #include<bits/stdc++.h>usingnam......
  • 信奥赛一本通陈老师解题 1123:图像相似度
    ​【题目描述】给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。【输入】第一行包含两个整数m和n,表示图像的行数和列数,......