51nod 1267 4個數和為0

2021-07-23 10:12:03 字數 699 閱讀 5636

思路:先n^2預處理出所有兩兩的組合,那麼就變成要找a+b==0的問題了,那麼排序o(n)去找就可以了

#includeusing namespace std;

#define ll long long

const int maxn = 1005*1005;

struct node

node[maxn];

bool cmp(node a,node b)

else

}if(!flag)printf("no\n");

}

1267 4個數和為0

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

給出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"。
input示例

5-11

-524

output示例

yes

51nod1267 4個數和為0

1267 4個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 a i 10 9...

51 nod 1267 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 sa...

51Nod 1267 4個數和為0

第一次看這道題就知道是二分,我們可以兩個數和的所有可能存到陣列中,然後二分查詢陣列,可是遇到了乙個問題,就是一些元素不可重複使用,比如2,2 4 5 這種情況,會出現2 2 2 2 0,造成重複使用,所以二分就需要判斷元素是否被重複使用。這樣就不免有點麻煩,因為資料範圍只有1000,可以想個簡單點的...