(比赛)C - 小Q系列故事——最佳裁判(水题)

2023-11-25 01:10

本文主要是介绍(比赛)C - 小Q系列故事——最佳裁判(水题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C - 小Q系列故事——最佳裁判

Time Limit:200MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

Description

  过去的2012年对小Q来说是很悲催的一年,失恋了12次,每次都要郁闷1个来月。 
  好在小Q是个体育迷,在最痛苦的时候,他常常用观看各种体育节目来麻醉自己,比如伦敦奥运会期间,小Q就常常在周末邀上一群单身同事聚在自己的蜗居,一边畅饮啤酒,一边吹牛。 
  小Q最喜欢看的是跳水,主要原因也是因为这个项目有中国人参加,而且中国队员获胜的几率很大,一般不会再给自己添堵,不然何谈看体育疗情伤呢。 
  跳水项目的一个重要环节就是裁判打分,小Q他们有时候会觉得某个裁判不公平,是不是有意在压中国队员的分数。于是每当一个队员跳水完毕,他们几个也像电视上的裁判那样给队员打分,并且规定,谁的分数和最终得分最接近谁就是他们当中的最佳裁判,现场奖励啤酒一杯! 
  其中,最终得分是这样计算的:N个人打分,去掉一个最高分,去掉一个最低分,然后剩余分数相加,再除以N-2即为最终得分。 
  凭借“看体育疗情伤”而练就的专业体育知识,小Q几乎每局必胜,这一夜,小Q注定要烂醉如泥了...... 
 

Input

  输入包含多组测试用例。 
  每组测试用例首先是一个整数N,表示裁判的人数,然后接着是N个实数,表示N个裁判的打分Pi,N为0时结束输入。 
   [Technical Specification]
  5 <= N <= 20 
  0<=Pi<=10
 

Output

  请计算并输出最佳裁判的编号,每组数据输出占一行,若有多人并列最佳裁判,只要求输出编号最小的那个。 
  特别说明:裁判编号按照打分的顺序从1开始,依次类推,最后一人编号为N。
 

Sample Input

5 8.3 9.2 8.7 8.9 9.0 0
 

Sample Output

4
 
//比赛除了练习过的,就做出这个了,纪念一下
//题目很简单,如果排序的话有个坑,就是题目是要输出最小的编号的,而不是数组编号最小的,如果有几个最佳裁判,而编号大的在前面,就会出错
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <math.h>
 5 
 6 struct people
 7 {
 8     int num;
 9     double fen;
10 }person [21];
11 
12 using namespace std;
13 int main()
14 {
15     int N;
16     double all,temp,min;
17     int t;
18     int i,j,k;
19     while (scanf("%d",&N)&&N)
20     {
21         for (i=1;i<=N;i++)
22         {
23             scanf("%lf",&person[i].fen);
24             person[i].num=i;
25         }
26 
27         for (i=1;i<=N;i++)
28         {
29             k=i;
30             for (j=i+1;j<=N;j++)
31             {
32                 if (person[j].fen<person[k].fen)
33                 {
34                     k=j;
35                 }
36             }
37             if (k!=i)
38             {
39                 temp=person[k].fen;
40                 person[k].fen=person[i].fen;
41                 person[i].fen=temp;
42 
43                 t=person[k].num;
44                 person[k].num=person[i].num;
45                 person[i].num=t;
46             }
47         }
48         all=0;
49         for (i=2;i<=N-1;i++)
50             all+=person[i].fen;
51         all=all/(N-2);
52 
53         k=person[1].num;
54         min=fabs(all-person[1].fen);
55         for (i=1;i<=N;i++)
56         {
57             if (fabs(all-person[i].fen)<=min)
58             {
59                 if ((fabs(all-person[i].fen)==min)&&person[i].num<k)
60                 {
61                     k=person[i].num;
62                     min=fabs(all-person[i].fen);
63                 }
64                 else if (fabs(all-person[i].fen)<min)
65                 {
66                     k=person[i].num;
67                     min=fabs(all-person[i].fen);
68                 }
69             }
70         }
71         printf("%d\n",k);
72     }
73     return 0;
74 }
View Code

 

转载于:https://www.cnblogs.com/haoabcd2010/p/5696202.html

这篇关于(比赛)C - 小Q系列故事——最佳裁判(水题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/422885

相关文章

Java 中 Optional 的用法及最佳实践

《Java中Optional的用法及最佳实践》在Java开发中,空指针异常(NullPointerException)是开发者最常遇到的问题之一,本篇文章将详细讲解Optional的用法、常用方... 目录前言1. 什么是 Optional?主要特性:2. Optional 的基本用法2.1 创建 Opti

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类