首页 > 其他分享 >L1-056 猜数字

L1-056 猜数字

时间:2024-04-05 14:34:13浏览次数:19  
标签:数字 int sum winner players num L1 diff 056

一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。

输入格式:

输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。

输出格式:

在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。

输入样例:

7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62

输出样例:

22 Amy

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

运行代码:

方法一:使用数组

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int sum = 0;
	string name[10000];
	int num[10000];
	for (int i=0; i<n; i++)
	{
		cin>>name[i];
		cin>>num[i];
		sum += num[i];
	}
	int winner_num = 0;
    //标记赢家为第几个
	float f = sum/n/2.0;
    //f为平均数一半 
	int D_Value = abs(f - num[0]);
	for (int i = 1; i<n; i++)
	{
		if (D_Value > abs(f - num[i]))
		{
			D_Value = abs(f - num[i]);
			winner_num = i; 
		}	
	}
	cout<<(int)f<<" "<<name[winner_num];
	return 0;	
} 

方法二:使用向量

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
    int N;
    cin >> N;
    vector<pair<string, int>> players(N);
    int sum = 0;
    for (int i = 0; i < N; ++i) {
        cin >> players[i].first >> players[i].second;
        sum += players[i].second;
    }
    int avg_half = sum / (2 * N);
    string winner;
    int min_diff = 101;
    for (const auto& player : players) {
        int diff = abs(player.second - avg_half);
        if (diff < min_diff) {
            min_diff = diff;
            winner = player.first;
        }
    }
    cout << avg_half << " " << winner << endl;
    return 0;
}

运行结果:

标签:数字,int,sum,winner,players,num,L1,diff,056
From: https://blog.csdn.net/u014114223/article/details/137399369

相关文章

  • linux之shell: chmod 命令后面数字权限的详细解释
    Linux中的文件权限管理在Linux系统中,文件和目录的权限管理是保证系统安全的重要机制。通过chmod命令,用户可以更改文件或目录的访问权限。权限类型Linux系统中的权限分为三种:所有者(Owner):文件或目录的创建者。组(Group):与文件或目录关联的用户组。其他用户(Others):系统......
  • open c++ 自动设计阶梯轴UF_MODL_create_cyl1
    通过UF_MODL_create_cyl1自动设计阶梯轴 doubleTtotal=260; doubleL1=21.00; doubleL2=12.00; doubleL3=57.00; doubleL4=36.00; doubleL6=67.00; doubleL5=Ttotal-(L1+L2+L3+L4+L6); doubled1=55.00; doubled2=65.00; dou......
  • 全能数字音乐工作站(DAW)FL Studio 24.0.99.4077中文版
    期待下一个版本21.3的FLStudio用户可能会惊讶地看到引入了新的版本号。DAW,以前称为“FLStudio21”,显然将在其下一个即将发布的版本中更名为“FLStudio2024”(目前正在进行公开测试)。此前,此版本的测试版曾被公开称为“v21.3betax”,...但截至目前”v21.3测试版3“,I......
  • 信息传播的AI时代:机器学习赋能新闻出版业的数字化之旅
    ......
  • 团体程序设计天梯赛-练习集 (L1-001 - L1-012)
    天梯赛题解合集团体程序设计天梯赛-练习集(L1-001-L1-012)团体程序设计天梯赛-练习集(L1-013-L1-024)团体程序设计天梯赛-练习集(L1-025-L1-036)团体程序设计天梯赛-练习集(L1-037-L1-048)L1-001HelloWorld输出题样例输入输出HelloWorld!思路按照题......
  • 当前大力发展数字经济,普通人的机会在哪里
    随着数字技术的不断发展,数字经济已经成为全球经济的新引擎,各国政府都在积极推进数字经济的发展。中国政府也在最近几年对数字经济的发展提出了高质量的要求,着力打造数字中国,为数字经济的发展提供了更加广阔的空间。 那么问题来了,数字经济到底是什么呢,跟我们普通老百姓有什么......
  • 中电金信:《商业银行零售数字化营销与运营白皮书》重磅发布!
    ​当下“数字化转型”已经成为各行各业的热议话题,商业银行作为金融行业数字化转型的“领头羊”,同样需要率先做出变革和行动,这也对银行未来的经营能力和新格局构建有了更高要求。 基于数字化发展背景下,中电金信发布《商业银行零售数字化营销与运营白皮书》,探讨新时代背景下零售......
  • 怪兽智能数字人解决方案:开启实时对话数字人应用新时代
    在当今数字化的时代,智能数字人技术正逐渐成为各行各业的热门话题。怪兽智能数字人解决方案以其出色的性能和广泛的应用场景,为实时对话数字人的应用带来了全新的机遇和挑战。一、引言随着人工智能技术的不断发展,数字人已经从虚构的想象走进了现实世界。怪兽智能数字人解决方......
  • 怪兽 AI 实时交互数字人直播软件系统,引领直播新潮流
    在当今数字化的时代,直播已经成为了一种极具影响力和吸引力的传播方式。无论是企业营销、教育培训还是娱乐互动,直播都发挥着重要的作用。而怪兽AI实时交互数字人直播软件系统的出现,更是为直播领域带来了全新的变革和机遇。   这款软件系统的独特之处在于其支持企业知......
  • 订单日记助力“桑尼(苏州)”成功数字化转型
    感谢桑尼(苏州)智能控制系统有限公司选择使用订单日记!桑尼(苏州)智能控制系统有限公司,成立于2022年,位于江苏省苏州市吴江区,是一家集电驱动系统研发、生产、销售、技术服务为一体的企业,致力于为车企提供更好的电驱动和智能安全设备和服务,是国内外电动摩托车、工程机械、休闲旅......