HNU软件能力实训4-5. 小希的数表

2023-05-16

写在前面

你好!欢迎来到我的博客,希望我的思路能够帮到你!

问题描述

Gardon 昨天给小希布置了一道作业,即根据一张由不超过 5000 的 N(3<=N<=100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和,然后再将它们排序。例如,如果数表里含有四个数 1,3,4,9,那么正确答案是 4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她的答案计算出原来的数表么?

输入形式

包含多组数据,每组数据以一个 N 开头,接下来的一行有按照大小顺序排列的 N*(N-1)/2 个数,是小希完成的答案。文件最后以一个 0 结束。

假设输入保证解的存在性和唯一性。

输出形式

对于每组数据,输出原来的数表。它们也应当是按照顺序排列的。

样例输入

4
4 5 7 10 12 13
4
5 6 7 8 9 10
0

样例输出

1 3 4 9
2 3 4 6

解题思路

最后走投无路了,只能强行暴力求解,假设数列的第一个数是1,2,...,sum[0],在此基础上求每一个数

AC代码

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int N=10010;
int n;
int sum[N];//储存一开始输入的和
int a[N];//储存最后算出来的每个数
int st[N];//标记每个和出现了多少次

int main()
{
	while(cin>>n,n)//多case
	{
		int m=n*(n-1)/2;//和的个数
		for(int i=0;i<m;i++)//输入和
			cin>>sum[i];
		for(int k=1;k<=sum[0];k++)//假设数列的第一个数 
		{
            a[0]=k;//假设这个数为1,2,...,sum[0]
			int j=1;//a[0]已经确定,所以j从1开始
			memset(st,0,sizeof(st));//将存储个数的数组初始化
			for(int i=0;i<m;i++)//用st数组来标记,以供下面判断
				st[sum[i]]++;
			for(int i=0;i<m;i++)
			{
				if(st[sum[i]])//这步很重要,判断sum[i]是否已经由两个数组成过
				{
					a[j]=sum[i]-a[0];//假设另一个数
                    int t;
					for(t=0;t<j;t++)//遍历已经找到的数
					{
						if(st[a[j]+a[t]])//如果a[j]+a[t]可以组成sum[]数列的一个数
							st[a[j]+a[t]]--;//这个数的个数就减一
						else//若组不成,则证明找的这个数不对
							break;
					}
					if(t==j)//从t找到j一直没有冲突,说明符合题意
						j++;
					else
						break;
				}
			}
			if(j>=n)//找到满足要求的数列
				break;
		}
		for(int i=0;i<n;i++)
            cout<<a[i]<<" ";
		cout<<endl;
	}
    system("pause");
	return 0;
}

写在最后

如果代码有任何问题,欢迎评论或者私信斧正。如果内容对对你有启发,不妨点个赞吧

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

HNU软件能力实训4-5. 小希的数表 的相关文章

  • k8s安装Prometheus

    注 xff1a 必须要先搭建网页管理容器 xff1b k8s部署dashboard kali yao的博客 CSDN博客 1 Prometheus的概述 Prometheus是一个最初在SoundCloud上构建的开源监控系统 它现在是一个
  • Logstash完成ELK集群

    注 xff1a 本文与同步 9条消息 搭建Elasticsearch和kibana完成初步ELK日志分析平台搭建 kali yao的博客 CSDN博客 logstash搭建 1 logstash介绍 什么是logstash 是一个数据采集
  • SQL基本语句及用法

    目录 一 基本SQL语句用法及概述 1 常用MySQL命令 2 语法规范 3 SQL语句分类 二 数据查询语言 1 基础查询 1 xff09 查询的字段列表可以是字段 常量 表达式 函数等 2 xff09 使用别名 xff0c 字段名和别名
  • PyCharm 社区版 安装 教程(Windows)

    注 xff1a 如果已经安装过python 3 5 及以上版本的解释执行器则跳过此步骤 下载 PyCharm 社区版 软件 PyCharm windows 版本 安装包如下 Thank you for downloading PyCharm
  • 监控zabbix面试题

    目录 1 我们可以用zabbix监控哪些 2 zabbix的主动监控与被动监控 3 Zabbix监控做过哪些 4 zabbix监控mysql的四大性能指标 5 配置zabbix自定义监控流程 6 安全组是什么 xff0c 限制了3306的入
  • 【ros学习】12.ros启动gazebo时摄像头的发布进程被杀死,导致rqt_image_view无法显示画面

    ros启动gazebo时摄像头的发布进程被杀死 xff0c 导致rqt image view即使订阅了正确的话题也无法显示画面 原因是gazebo的版本过低 xff0c 与Rviz不兼容 ubuntu16 04匹配的ros版本是kineti
  • 系统运维面试题

    目录 1 什么是运维 什么是游戏运维 2 在工作中 xff0c 运维人员经常需要跟运营人员打交道 xff0c 请问运营人员是做什么工作的 xff1f 3 请描述下linux 系统的开机启动过程 4 为什么连接的时候是三次握手 xff0c 关
  • Xshell的使用

    本文修改于 xff1a 高效使用XSHELL 简书 jianshu com https www jianshu com p 67b83d3f2e40 一 XShell的概述 1 XSHELL是什么 Xshell是用于Windows平台的功能
  • linux下解压rar和7z压缩文件

    在windows下我们压缩解压文件通常后缀为rar xff0c 在linux下我们压缩解压文件通常后缀为tar 默认在linux下我们不能解压压缩rar文件 我们可以下载rarlinux安装包实现解压压缩后缀为rar的包 下载地址 xff1
  • Filebeat输出json格式的日志并指定message字段的值

    目录 1 开启json格式所需的字段概述 2 配置示例 3 如果问题没有解决可点击官网 1 开启json格式所需的字段概述 filebeat配置input要有以下字段 json keys under root true json overw
  • Prometheus添加邮件告警和企业微信机器人告警

    我们将在 Prometheus 服务器上编写警报规则 xff0c 这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报 xff0c 收到警报后 xff0c Alertmanager 会处理警报并根据其标签进行路由 一旦路径确定 xff
  • 麒麟ARM64制作nginx,java,php,node基础镜像

    一 环境准备 1 网上搜底层镜像 麒麟容器基础镜像 xff1a docker search kylin 镜像准备 docker pull kylin 注 xff1a 最好自己制作底层镜像 2 自己做底层镜像 注 xff1a 做镜像时需要在麒
  • docker部署简易Prometheus

    注 xff1a 部署前可以先系统的学习一下 xff1a Introduction Prometheus中文技术文档 在之后需要书写自定义告警的 xff0c 需要在学习一下PromQL语言 xff0c 一般网上也能搜到 xff0c 可以在安装
  • k8s面试题-进阶

    1 简述etcd及其特点 etcd是CoreOS团队发起的开源项目 xff0c 是一个管理配置信息和服务发现 xff08 service discovery xff09 的项目 xff0c 它的目标是构建一个高可用的分布式键值 xff08
  • 制作Alpine Linux镜像报错errors: 15 distinct packages available

    1 执行报错 执行docker build t 镜像 版本 f Dockerfile 报错 xff1a 2 查看网上的解决思路 网上文档解决思路 xff1a 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm
  • C++ class与struct的区别

    在C语言中 xff0c struct是作为数据类型存在的 xff0c 因此其中只能包含变量 xff0c 不可以包含函数 xff0c 结构相对简单 而C 43 43 采用OOP编程思想 xff0c 为struct扩充了很多属性 xff0c 使
  • 【ros学习】13.URDF机器人建模详解

    一 URDF简介 URDF xff08 Unified Robot Description Format xff09 统一机器人描述格式 xff0c URDF使用XML格式描述机器人文件 URDF语法规范 xff0c 参考链接 xff1a
  • 如何强制“git pull”覆盖本地文件?

    问题描述 xff1a 如何强制覆盖 git pull 上的本地文件 xff1f 我的本地存储库包含一个文件名与服务器上相同的文件 错误 xff1a 未跟踪的工作树文件 example txt 将被合并覆盖 解决方案1 huntsbot co
  • 如何克隆特定的 Git 分支? [复制]

    问 xff1a 这个问题在这里已经有了答案 xff1a How do I clone a single branch in Git 26 个回答 8 年前关闭 Git clone 会将远程分支克隆到本地 有没有什么方法可以自己克隆一个特定的
  • tensorflow报错:InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [12]

    tensorflow报错 xff1a InvalidArgumentError Assign requires shapes of both tensors to match lhs shape 61 12 rhs shape 61 6 我

随机推荐

  • opencv矩形轮廓查找

    之前公司软件版本是在通过调用摄像头再手动圈定仪器数字区域进行识别 xff0c 现在在此基础上实现自动定位 xff0c 检测出所有的矩形通过其宽高之比和面积进行筛选 xff0c 部分关键代码如下 自动定位数字区域 include lt ope
  • Nginx部署多个Vue项目,配置不同域名

    文章目录 一 前言二 上传dist文件三 配置nginx cnf四 域名解析 一 前言 一个服务器需要部署多个前端项目 比如需要一个企业官网比如需要一个管理系统 这时候一个Nginx要怎么配置多个前端项目呢本文详细讲解 xff1a 通过不同
  • ESP32-C3入门教程 问题篇⑫——undefined reference to rom_temp_to_power, in function phy_get_romfunc_addr

    文章目录 一 前言 二 发现问题 三 解决问题 一 前言 本文基于VS Code IDE进行编程 编译 下载 运行等操作 基础入门章节请查阅 ESP32 C3入门教程 基础篇 基于VS Code构建Hello World 教程目录大纲请查阅
  • USART RX 不上拉的后果

    这两天写一个STM32的程序 xff0c 其中USART1是要接一个串口屏做显示的 xff0c 调试前期是还没用到显屏 xff0c 就拿USART1做log打印 然后就发现了一个很怪异的现象 USART1串口转usb接到电脑 xff0c 程
  • 虚拟机ros系统安装

    一 新建虚拟机 1 这里选择自定义安装 这里为了灵活性一般使用稍后安装 红款内根据自己情况选择安装路径 这一步一定要选择IDE否则开机 会报错 这里默认20g就够用 点击完成虚拟机就安装完成了 二安装ros系统 点击这个光驱安装镜像 把镜像
  • 用python实现realsenseD435i相机实现视频显示,并按空格键执行拍照,保存照片的程序

    为了使用Intel RealSense D435i相机 xff0c 我们需要安装pyrealsense2库 你可以通过以下命令安装它 xff1a pip install pyrealsense2 下面是一个使用pyrealsense2库实现
  • 二元信号量、互斥量和临界区之间的区别

    二元信号量 适合只能被唯一一个线程独占访问的资源 多元信号量 适合允许多个线程并发访问的资源 互斥量 和二元信号量类似 xff0c 资源仅同时允许一个线程访问 xff0c 但和信号量不同的是 xff0c 信号量在整个系统可以被任意线程获取并
  • ROS摄像机的标定

    本文主要为ROS camera calibration 单目相机标定教程的翻译 原文 xff1a http wiki ros org camera calibration Tutorials MonocularCalibration 仅供英
  • <视觉>——单目相机的标定(简单原理+Opencv实现)

    单目相机的标定原理大致如下 xff1a 世界坐标到像素坐标的转换 期间的参数有S尺度因子 xff0c 内参矩阵K xff0c 旋转矩阵R xff0c 平移矩阵T xff0c 一共八个未知数 在Opencv中我们可以方便的根据相机拍摄不同位姿
  • Python入门自学进阶-Web框架——4、HttpRequest和HttpResponse及模板

    HTTP请求中产生两个核心的对象 xff1a http请求 xff1a HttpRequest对象 http响应 xff1a HttpResponse对象 所在位置django http xff0c 前边用的reques就是HttpRequ
  • 维修杜邦线(母头)

    在一个研发团体中 xff0c 即使有某一位或几位财大气粗的 xff0c 也难免有其他成员借设备使用的 xff0c 研发过程中使用的电子设备在底层通讯之间大都采用杜邦线连接 xff0c 大家都熟悉 xff0c 优点就不说了 xff0c 先说说
  • 【酷毙了】野火新版fireTools多功能调试助手,有Windows和Linux版本,就问你喜不喜欢。...

    01 软件简介 野火fireTools 多功能调试助手 xff0c 是一款使用QT开发 xff0c 可以在Windows和Linux环境下完美运行的绿色客户端 xff0c 不需要安装 xff0c 双击即可运行 xff0c 其功能包括 xff
  • 结合模型,视频动态演示PID三个参数的作用!

    PID控制器 xff08 比例 积分 微分控制器 xff09 xff0c 由比例单元 xff08 P xff09 积分单元 xff08 I xff09 和微分单元 xff08 D xff09 组成 可以通过调整这三个单元的增益Kp xff0
  • 单片机数字滤波算法如何实现?(附代码)

    ID xff1a 技术让梦想更伟大 整理 xff1a 李肖遥 单片机主要作用是控制外围的器件 xff0c 并实现一定的通信和数据处理 但在某些特定场合 xff0c 不可避免地要用到数学运算 xff0c 尽管单片机并不擅长实现算法和进行复杂的
  • HNU软件能力实训2-9. 字符串压缩

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 给定一个由n个小写字母组成的字符串s xff0c 需要使用最少数量的钱币来压缩它 压缩该字符串 xff0c 必须将s表示为多个相互连接的
  • HNU软件能力实训2-21. 新型冠状病毒(COVID19)传播

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 防控新冠病毒 xff0c 必须时刻引起大家的足够重视 xff0c 特别是人员集中活动场所 xff0c 保持好社交距离 然而 xff0c
  • HNU软件能力实训3-8. ab串

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 给定一个由字符 a 和字符 b 组成的字符串 xff0c 可以删除若干字符 xff0c 使得剩下来的字符串满足前后段为a xff0c 中
  • HNU软件能力实训3-9. 占座位

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 一个人可以去占多个座位 xff0c 而且一定是要连续的座位 xff0c 如果占不到他所要求的这么多座位 xff0c 那么他就一个座位也不
  • ROS编程入门(C++ 及 思路)

    使用Autolabor官方入门教程 xff0c 笔记内容为注意事项 首页 Autolabor开源ROS机器人底盘 官方网站 一 ROS通信机制的解释 例如在生活中 xff0c 我们在家里有一个放零食的箱子 xff0c 而操作服务器就是这个箱
  • HNU软件能力实训4-5. 小希的数表

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 Gardon 昨天给小希布置了一道作业 xff0c 即根据一张由不超过 5000 的 N 3 lt 61 N lt 61 100 个正整