2022CSP-J集训测试3
第一题:最小间隔
Description
给你 n(2≤n≤10^5) 个数,两两不同。
请你找出两个数,其间距最小,如果有多对数字,按升序依次输出即可。
Format
Input
第一行一个正整数 n,
第二行连续 n 个整数,绝对值不超过 10^7。
Output
输出间距最小的数对,用一个空格隔开;如果有多对,每行一对。
Samples
输入数据 1
4
8 6 5 7
输出数据 1
5 6
6 7
7 8
Limitation
1s, 1024KiB for each test case.
思路:这一题没啥好说的,直接排序完跑一遍循环找最短纪录就行了
代码(含注释):
#include<bits/stdc++.h>
using namespace std;
int n,a[100007],minn=10000000;
int main ()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+1+n); //排序 保证两个数字的距离最小for(int i=2;i<=n;i++){int tmp=a[i]-a[i-1]; //收集两个数字的距离minn=min(minn,tmp); //循环结束后minn就是整个数组里最小的距离}for(int i=2;i<=n;i++){ //考虑到会有多个答案 寻找每一个距离为minn的两个数if(a[i]-a[i-1]==minn){cout<<a[i-1]<<" "<<a[i]<<endl; //若符合条件就输出}}return 0;
}
第二题:丢了番的图
Description
听说丢番图研究不定方程,隔壁老王也开始做起来数学研究。
老王感兴趣的问题是:
给你 n 个变量 x1,x2,…,xn以及一个正整数 k,请你求出满足
x1+x2+x3+⋯+xn≤k
的自然数的解有多少组?
Format
Input
两个正整数 n(1≤n≤10)和 k(1≤k≤10),代表自然数变量的个数。
Output
一个正整数,表示解的组数。
Samples
输入数据 1
1 3
输出数据 1
4
Hint
分别有 0,1,2,3共 4 组解。
输入数据 2
2 4
输出数据 2
15
Hint
分别有 (0,0), (0,1), (1,0), (0,2), (1,1), (2,0), (0,3), (1,2), (2,1), (3,0), (0,4), (1,3), (2,2), (3,1), (4,0) 共 1515 组解。
Limitation
1s, 1024KiB for each test case.
思路:这个第一眼看到的时候觉得应该是要用什么数学思路来解题,但本人的数学不是很好(小声)于是后面又想了想发现这题的规模不大,可以直接用dfs/递归做。只要用递归代替n层循环就可以枚举出每一个结果。
代码(含注释):
#include<iostream>
using namespace std;
int N,K,sum;
void dfs(int n,int k){ //dfs(n,k)代表当前已用掉n个位置与k个空间if(k>K){ //如果超过了K,就是不满足题目规定的条件,直接returnreturn ;}if(n==N){ //如果没超过K而且达到了N个变量,则正解+1,然后returnsum++;return ;}for(int i=0;i<=K;i++){ //反正最多也只用遍历10*10次,数据够那就暴力枚举(这里最多相当于写十层1-10的循环)dfs(n+1,k+i);}
}
int main ()
{cin>>N>>K; //和n k区分开这样函数里方便用dfs(0,0);cout<<sum;return 0;
}
2022CSP-J集训测试3相关推荐
- noip2019集训测试赛(五)
Problem A: lcm Time Limit: 1000 ms Memory Limit: 256 MB Sample Input 3 1 2 5 Sample Output 1 4 55 HI ...
- 【2016北京集训测试赛】river
HINT 注意是全程不能经过两个相同的景点,并且一天的开始和结束不能用同样的交通方式. [吐槽] 嗯..看到这题的想法的话..先想到了每个点的度为2,然后就有点不知所措了 隐隐约约想到了网络流,但并没 ...
- 2018暑假集训测试六总结
拿到试题没几分钟,就有人说会做T1QAQ.第一题感觉似曾相识,其实不同.梳理出本质后发现有两个限制,便想用枚举+递推来快速求解,发现要么是不会推,要么是时空超限,不会优化.期间也想过通过离线做,去掉一 ...
- 2016集训测试赛(二十六)Problem A: bar
Solution 首先审清题意, 这里要求的是子串而不是子序列... 我们考虑用1表示p, -1表示j. 用sum[i]表示字符串前\(i\)的前缀和. 则我们考虑一个字符串\([L, R]\)有什么 ...
- 2016集训测试赛(二十四)Problem C: 棋盘控制
Solution 场上的想法(显然是错的)是这样的: 我们假设棋子是一个一个地放置的, 考虑在放置棋子的过程中可能出现哪些状态. 我们令有序整数对\((i, j)\)表示总共控制了\(i\)行\(j\ ...
- [补档]noip2019集训测试赛(八)
Problem B: 2048 Special Judge Time Limit: 1000 ms Memory Limit: 256 MB Description 2048曾经是一款风靡全球的小游戏 ...
- [补档]noip2019集训测试赛(十)
Problem A: fibonacci Time Limit: 2000 ms Memory Limit: 256 MB Description 小y最近迷上了fibonacci数列,他定义了一种数 ...
- [补档]noip2019集训测试赛(十二)
Problem A: 记忆(memory) Time Limit: 1000 ms Memory Limit: 512 MB Description 你在跟朋友玩一个记忆游戏. 朋友首先给你看了n个长 ...
- [补档]noip2019集训测试赛(十四)
Problem A: Fibonacci(fib.pas/cpp) Time Limit: 1000 ms Memory Limit: 128 MB Description 豆豆最近迷上了Fibona ...
- [补档]noip2019集训测试赛(十五)
Problem A: 传送带 Time Limit: 1000 ms Memory Limit: 256 MB Description 在一个二维平面上有两条传送带,每一条传送带可以看成是一条线段.两 ...
最新文章
- 机器学习笔记:线性判别分析(Fisher)
- android queue用法,GitHub - rygz146/TQueue: Android 可以任意切换线程的任务队列, TQueue
- abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模
- 振臂高呼式的写作:谈肖亦农的《毛乌素绿色传奇》
- org.springframework.beans.factory.BeanCreationException...
- python对电影进行预测评分_TMDb电影数据分析 电影评分预测
- Android 车载应用开发与分析(12) - SystemUI (一)
- 店店融合共振出的价值 才是苏宁的零售杀手锏
- matlab怎么画lnx图像,inx图像(lnx的图像函数)
- python死循环_怎么避免Python程序出现死循环(无限循环)?
- 音乐计算机ut乐谱大全,Flash钢琴乐谱大全.doc
- Scrum开发管理方法的由来、团队建设与实施过程
- Qt多路视频监控软件(Qt+VLC支持本地视频/RTSP流/RTMP流)
- Class -- 08 -- Parameter类常用方法解析
- InverseCSG: Automatic Conversion of 3D Models to CSG Trees
- mvc4文件上传由于文件太大而无法正常获取文件
- Yii2 User 登录原理
- 2017波折重重的一年
- BERT 获取最后一层或每一层网络的向量输出
- 【Xbox360】 Party Buffalo Xbox360 硬盘读写程序 使用教程
热门文章
- Java 数值比较
- datareader(Datareader对象的什么方法用于从查询结果中读取行)
- Android onFinishInflate 的理解
- STM32CubeMX在freeRTOS中使用printf函数
- 2022施工员-市政方向-通用基础(施工员)考题及答案
- 区块链投资人Michael Terpin:关于2017年区块链的几大预测
- 编程设计一个简单的计算器程序
- Rockland丨Rockland蛋白质表达和纯化解决方案
- 【愚公系列】2023年02月 WMS智能仓储系统-004.内存缓存的使用
- 根据小写26个字母,随机生成单词,乱文