1090 3個數和為0
基準時間限制:1 秒 空間限制:131072 kb 分值: 5
難度:1級演算法題
給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 = 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則按照第二小的數排序。
input
第1行,1個數n,n為陣列的長度(0 <= n <= 1000)output第2 - n + 1行:a[i](-10^9 <= a[i] <= 10^9)
如果沒有符合條件的組合,輸出no solution。input示例如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則繼續按照第二小的數排序。每行3個數,中間用空格分隔,並且這3個數按照從小到大的順序排列。
7output示例-3-2-10123
-3 0 3-3 1 2
-2 -1 3
-2 0 2
-1 0 1
二分答案
列舉前兩個數 二分第三個數
1 #include 2 #include 3 #include 4**5const
int maxn=1010;6
7intn;8
9int
a[maxn];
1011
bool
flag;
1213 inline void read(int&x)
1920 inline bool check(int
x) 27
if(a[r]==x) return
true;28
return
false;29
}3031int
hh() 43}
44if(!flag) printf("
no solution\n");
45return0;
46}4748
int sb=hh();
49int main(int argc,char**argv)
1090 3個數和為0
1090 3個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中...
1090 3個數和為0
給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則按照第二小的數排序。收起第1行,1個數n,n為陣列的長度 0 n 1000 第...
1090 3個數和為0
1090 3個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏關注給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小...