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; 
    } 
  • 相关阅读:
    如何防止多个人同时编辑文件
    通过Word实现表单套打
    偏前端
    偏前端
    偏前端
    偏前端 -webpack打包之(安装webpack)
    偏前端
    偏前端
    偏前端
    偏前端--之小白学习本地存储与cookie
  • 原文地址:https://www.cnblogs.com/Friends-A/p/9309018.html
Copyright © 2011-2022 走看看