1090 3個數和為0

2021-10-02 10:08:34 字數 996 閱讀 8410

給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 = 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則按照第二小的數排序。

收起

第1行,1個數n,n為陣列的長度(0 <= n <= 1000)

第2 - n + 1行:a[i](-10^9 <= a[i] <= 10^9)

如果沒有符合條件的組合,輸出no solution。

如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則繼續按照第二小的數排序。每行3個數,中間用空格分隔,並且這3個數按照從小到大的順序排列。

7

-3-2-10123

-3 0 3

-3 1 2

-2 -1 3

-2 0 2

-1 0 1

思路 :

#include #include #include using namespace std ;

typedef long long ll;

const ll inf = 0x3f3f3f3f3f3f3f3f;

// 1014

const ll maxn = 1e18+999 ;

const int max = 10010 ;

int n ;

ll a[max] ;

bool find(ll x , int p )

else if(a[mid] < x )

else }

return 0 ; // 沒找到

}int main()

sort(a+1,a+1+n) ;

for(int i = 1 ; i<=n;i++)

} }if(!flag)

return 0 ;

}

1090 3個數和為0

1090 3個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小...

1090 3個數和為0

1090 3個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中...

1090 3個數和為0

1090 3個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏關注給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小...