(51nod)1001 - 数组中和等于K的数对

树莓派c语言串口通讯程序 在网上搜了很多关于树莓派串口通讯的例子,但是都是用python写的,虽然python很有名,而且最近也在学习这门语言, 但是还是想用c语言实现一下,因为需要用到整套系统里,其他内容都是用c语言写的。但是网上没有找打现成的。 还好,之前做过天嵌2440开发板的串口程序(参照天嵌工程师提供的代码),发现串口程序其实是通用的, 驱动层屏蔽了硬件细节,个人猜测,几乎所有移植好的系统的串口,都可以用一 阅读详情

基准时间限制:1 秒 空间限制:131072 KB 分值: 5  难度:1级算法题
 收藏
 关注
给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。
Input
第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K <= 10^9)
第2 - N + 1行:A数组的N个元素。(-10^9 <= A[i] <= 10^9) 
Output
第1 - M行:每行2个数,要求较小的数在前面,并且这M个数对按照较小的数升序排列。
如果不存在任何一组解则输出:No Solution。
Input示例
8 9
-1
6
5
3
4
2
9
0
8
Output示例
-1 9
0 8
2 6
3 5
李陶冶  (题目提供者)


思路:首先对这个乱序数组进行排序,从已排序的数组首尾开始找数对,如果数对和大于题目要求,尾端前移,反之首端后移。

如果找到一个满足条件的数对,按照格式输出,尾端和首端同时内移,直到首尾相遇。(如果用两重for循环+break去找依旧会超时)。


#include <cstdio>
#include <algorithm>

using namespace std;

const int N=50010;

int main()
{
    int k,n;
    int a[N];
    while(~scanf("%d%d",&k,&n))
    {
        for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
        sort(a,a+n);
        int p=0,q=n-1;
        bool flag=false;
        while(p<q)
        {
            if(a[p]+a[q]==k)
            {
                flag=true;
                printf("%d %d\n",a[p++],a[q--]);
            }
            else if(a[p]+a[q]>k) q--;
            else p++;
        }
        if(!flag) printf("No Solution\n");
    }
    return 0;
}



FreeCAD MCP实战:用AI自然语言驱动CAD建模与自动化 在计算机辅助设计(CAD)领域,参数化建模和自动化脚本是提升设计效率的核心技术。其原理在于通过程序化指令控制三维模型的创建与修改,从而将设计意图转化为精确的几何实体。这种技术价值在于显著降低重复性操作成本,实现快速原型迭代和设计探索。在应用场景上,它尤其适用于需要频繁调整尺寸、生成系列化零件或执行规则化建模任务的工程与产品设计。本文聚焦的FreeCAD MCP项目,正是这一理念的先进实践。它通过集成Model Context Protocol(MCP),构建了一个连接Claude AI与FreeCAD的智能 阅读详情

相关推荐

ZYNQ Linux环境下PS端I2C驱动OV5640摄像头全流程解析

本文详细解析了在ZYNQ Linux环境下,通过PS端I2C驱动OV5640摄像头的完整流程。内容涵盖从Vivado硬件配置、PetaLinux系统构建、设备树节点添加,到用户空间I2C编程与寄存器配置实战,并提供了关键的调试技巧与常见问题排查方法,帮助开发者快速实现嵌入式视觉应用的传感器配置。

vulkan6gpu的博客 853

在n个数字中求为k的和————Java

给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"YES",否则输出"NO"。用Java实现 import java.util.Scanner; public class Main { public static void main(String[] args) { int num[] = new int[...

weixin_30326741的博客 598

MongoDB启动失败(service mongod start):Failed to unlink socket file /tmp/mongodb-27017.sock Unknown error

错误日志(/var/log/mongodb/mongo.log): 2019-09-16T06:00:00.251+0000 I CONTROL [main] ***** SERVER RESTARTED ***** 2019-09-16T06:00:00.253+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-e...

deantzzz的博客 1838

51 Nod 1268 和为K的组合(C++ DFS)

给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。 第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9) 第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 <= A[i] <= 10^6) 如果可以,输出:"Yes",否则输出"No"。 这道题可以用动态规划(背包问题)来写但使数据量很小我们直接暴力即可 在进行dfs的时候

m0_62661752的博客 934

高速串行信号仿真避坑指南:为什么你的SIwave Xnet设置了却不出结果?

本文深入解析SIwave中Xnet功能在高速串行信号仿真中的常见问题,包括模型缺失、网络不完整和端口设置错误等关键误区。通过详细的电路元件模型验证、网络完整性检查及端口配置指南,帮助工程师有效解决仿真不出结果的问题,提升信号完整性分析效率。

weixin_29218963的博客 252

NVIDIA Tao Toolkit环境配置踩坑

请搭配食用该文章为 Tao 安装中可能出现的问题进行解答,如果存在本文章中没出现的问题,欢迎提问,由我复现后更新文章。由于大部分云服务器厂商不能支持 docker,因此我使用的环境为2023年5月27日在平台租的 3080 旧版环境进行实验。

qq_36630208的博客 771

找出和为k的所有组合

1. 题目:给定一个数组a(a中不存在重复元素)和一个值k,求出a中元素之和为k的所有组合。比如a为{7,3,6,2},k=7,则所有组和有2+2+3和7。 2. 解析:回溯+递归。比较难以理解的是index索引的使用,代码如下: void printSum(int candidates[], int index[], int n) { for (int i = 1;...

ah7975的博客 2489

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤)

本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。

weixin_29230901的博客 211

Codeforces Round 886 (Div. 4) (D~H)---Day10

思路:将其抽象成n个点的建图问题,先存m个约束,然后遍历1~n,若当前点没有被建立过,则建立该点,设该点的坐标为一个初始值,同时用队列处理所有与之相关的点,若建立过程中某点的坐标已经确定了,但无法满足某个约束,则直接输出NO,若遍历完所有点之后都满足,则输出YES。思路:写四个排序,按照x排序,按照y排序,按照x + y 排序 , 按照x - y 排序,然后相同的放在一组,最终每组内两两组合。题意:二维平面上给定n个点,若两点的x坐标相同,y相同,斜率为1,斜率为-1,则k + 1 , 求k值。

weixin_61825750的博客 883

Qt项目开发实例 (含源码)

qt教程、qt项目、qt下载、qt项目实战、qt多线程。本文通过分析demo源码,QT实战的方式进行学习,学习路线是以实战为目录,全面的使用自己的学习知识,文章中编写一系列的学习游戏demo,与大家一起分享。

啊渊的专栏 14万+

OBC_开环扫频波特图拟合操作流程(结合 Simulink)

摘要: 本文详细介绍了基于Simulink的开环扫频波特图测试与拟合流程,适用于电源/控制系统(如LLC/PFC)的小信号分析。主要内容包括:1)前期准备(测试点选择、信号范围设定);2)Simulink建模方法(信号注入、数据记录);3)两种扫频方式(逐频正弦/Chirp扫频)的实现;4)MATLAB数据处理(FFT分析、传递函数拟合);5)线性分析工具使用技巧。重点强调了激励信号幅值控制、稳态数据采集及模型验证方法,并提供完整MATLAB脚本示例。该流程可有效获取系统频域特性,为控制器设计提供可靠依据。

Sumerking的博客 234

数组和为K的组合

1. 求数组中两数相加和为K的所有组合 1.1 排序+指针 1. 先将数组排序 o(nlogn); 2. 再使用两个指针 o(n)。 def two_num_sum_k(arr, k): if not arr or len(arr) < 2: return [] result = [] arr.sort() low, high = 0, len(arr) - 1 while low < high: sum =

MusicDancing的博客 1341

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1707

51nod 1001 数组中和等于K的数对

给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。 输入 第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 &lt;= N &lt;= 50000,-10^9 &lt;= K &lt;= 10^9) 第...

qq_43646211的博客 257

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

51Nod 1001 数组中和等于K的数对

题目描述  给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。 输入 第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 &lt;= N &lt;= 50000,-10^9 &lt;= K &lt;= ...

Nothing9826的博客 289

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

51nod 1001 数组中和等于K的数对(二分)

51nod 1001 数组中和等于K的数对(二分)题解: 用sort排下序,然后每个用二分找到的符合的下标j,判断此下标对应的值是不是你要找的。#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> #include <queue> #include <stac

学无纸巾 357

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

51nod1001 数组中和等于K的数对

1001 数组中和等于K的数对 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。 Input 第1行:用空格隔开的2个数,K

lwlldd的专栏 450

51nod 1001 数组中和等于k的数对

给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。Input第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 &lt;= N &lt;= 50000,-10^9 &lt;= K &lt;= 10^9)第2 -...

qq_37410469的博客 239

51NOD 1001 数组中和等于K的数对

给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。 输入 第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^...

weixin_30271335的博客 87

51Nod 1001 数组中和等于K的数对

1001 数组中和等于K的数对 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,

Chunzhen的博客 1702

51Nod 1001 数组中和等于K的数对 Set

给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。Input第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K <= 10^9...

ddqb3235的博客 105

51nod--1001数组中和等于k的数对

题目描述 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。 输入格式 第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K...

qq_43981607的博客 216
上一篇: 51nod 编程挑战
下一篇: (51nod)1002 - 数塔取数问题
ACDoge
博客等级 码龄10年 8粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值