H 4個數和為0

2022-03-22 18:40:56 字數 759 閱讀 7392

給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出"yes",否則輸出"no"。

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

第2 - n + 1行:ai

i(-10^9

<= ai

i <=

10^9)

output如果可以選出4個數,使得他們的和為0,則輸出"yes",否則輸出"no"。

sample input

5-11

-524

sample output

yes暴力列舉就可以了,注意一點就是不可以一起加起來與0比較,不然會long long會爆的。

只需要前者兩個數的和,與後者的兩個數的和是不是成相反數,就可以了。

**如下:

#include#include#include#includeusing namespace std;

long long a[1100];

long long sum;

int n;

int main()

else

else}}

}if(flag) break;

} if(flag) printf("yes\n");

else printf("no\n");

}

return 0;

}

這樣的時間少一點,最裡面的時間複雜度是o(n-x)次,如果兩層的迴圈的話,就是o(n*(n-1))大約,會超時間的。

4個數和為0

給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 a i 10 9 a i 10 9 output 如果可以選出4個數,使得他們的和為0,則輸出 yes 否則輸出 no in...

4個數和為0

給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 ai 10 9 ai 10 9 output 如果可以選出4個數,使得他們的和為0,則輸出 yes 否則輸出 no samp...

1090 3個數和為0

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