zoukankan      html  css  js  c++  java
  • 51Nod 1090: 3个数和为0

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
     收藏
     关注
    给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。
    Input
    第1行,1个数N,N为数组的长度(0 <= N <= 1000)
    第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^9)
    Output
    如果没有符合条件的组合,输出No Solution。
    如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则继续按照第二小的数排序。每行3个数,中间用空格分隔,并且这3个数按照从小到大的顺序排列。
    Input示例
    7
    -3
    -2
    -1
    0
    1
    2
    3
    Output示例
    -3 0 3
    -3 1 2
    -2 -1 3
    -2 0 2
    -1 0 1

    数据小,直接暴力就出来了

    #include<cstdio>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    const int maxn=1e6+10;
    int num[maxn];
    int main()
    {
    	int n,i;
    	cin>>n;
    	for(i=0;i<n;i++) cin>>num[i];
    	sort(num,num+n);
    	int j,k,flag=0;
    	for(i=0;i<n;i++)
    	{
    		for(j=i+1;j<n;j++)
    		{
    			if(num[i]+num[j]<=0)
    			{
    				for(k=j+1;k<n;k++)
    				{
    					if(num[j]+num[i]+num[k]==0)
    					{
    						cout<<num[i]<<" "<<num[j]<<" "<<num[k]<<endl;
    						flag=1;
    					} 
    				} 
    			} 
    		} 
    	}
    	if(!flag) cout<<"No Solution
    "; 
    	return 0; 
    } 
  • 相关阅读:
    前端PC人脸识别登录
    html2canvas 轮播保存每个图片内容
    基于Element的下拉框,多选框的封装
    聊聊 HTTPS
    从 rails 窥探 web 全栈开发(零)
    理解 Angular 服务
    Vue3 与依赖注入
    一次 HTTP 请求就需要一次 TCP 连接吗?
    GO 语言入门(一)
    读 Angular 代码风格指南
  • 原文地址:https://www.cnblogs.com/Friends-A/p/9309018.html
Copyright © 2011-2022 走看看