2020小学甲组--恢复数组

2024-03-02 22:36
文章标签 2020 数组 恢复 小学 甲组

本文主要是介绍2020小学甲组--恢复数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

有一个数组a[1..n],但是这个数组的内容丢失了,你要尝试恢复它。已知以下的三个事实:

1、对于1<=i<=n,都有a[i]>0,且所有的a[i]互不相同。即a数组保存的全部都是正整数,且互不相同。

2、x和y一定是属于数组a,且x<y。

3、a数组是递增的数组,且相邻两项的差是相等的。即数组a是等差数列。

容易发现,同时满足上面三个条件的a数组不一定是唯一的。你要输出使得a[n]的值最小的那个a数组,如果还不唯一,输出使得a[1]的值最小的那个a数组。

输入格式

多组测试数据。

第一行,一个整数T,表示有T组测试数据。1<=T<=100。

接下来有T行,每行3个整数:n,x,y。2<=n<=50。1<=x,y<=50。

输出格式

共T行,每行n个整数。

输入/输出例子1

输入:

5

2 1 49

5 20 50

6 20 50

5 3 8

9 13 22

输出:

1 49

10 20 30 40 50

20 26 32 38 44 50

3 8 13 18 23

1 4 7 10 13 16 19 22 25 

我的答案:

#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d,ans,shu[1000],qs,jg,s;
int main()
{scanf("%d",&a);for(int i=1;i<=a;i++){scanf("%d%d%d",&b,&c,&d);ans=10000000,qs=10000000,jg=10000000;for(int j=1;j<=c;j++){shu[1]=j;for(int k=1;k<=d-c;k++){s=0;if(shu[1]==c)s++;for(int l=2;l<=b;l++){shu[l]=shu[l-1]+k;if(shu[l]==c|shu[l]==d)s++;}if(s!=2)continue;if(shu[b]<ans){ans=shu[b];qs=j;jg=k;}}} shu[1]=qs;for(int j=2;j<=b;j++){shu[j]=shu[j-1]+jg;}for(int j=1;j<=b;j++){printf("%d ",shu[j]);}printf("\n");}return 0;
}

这篇关于2020小学甲组--恢复数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

C++一个数组赋值给另一个数组方式

《C++一个数组赋值给另一个数组方式》文章介绍了三种在C++中将一个数组赋值给另一个数组的方法:使用循环逐个元素赋值、使用标准库函数std::copy或std::memcpy以及使用标准库容器,每种方... 目录C++一个数组赋值给另一个数组循环遍历赋值使用标准库中的函数 std::copy 或 std::

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::