51nod 1267 4個數和為0

2021-09-19 07:39:03 字數 892 閱讀 5590

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

收起

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

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

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

-524

yes
思路:1.將陣列裡的值兩兩相加存進結構體內,記得也要存下是哪兩個數相加得來的。然後二分查詢。

#include #include #include #include #include #include #include #include #include #include #define ull unsigned long long

using namespace std;

typedef long long ll;

const ll mod=1000000007;

const int n=1005;

const double pi=acos(-1);

const int inf=0x3f3f3f3f;

int a[2000];

struct node

s[1000100];

bool cmp(const node &a,const node &b)}}

return false;

}int main()

sort(a,a+n);

if(tao(n))

printf("yes\n");

else

printf("no\n");

return 0;

}

51nod 1267 4個數和為0

思路 先n 2預處理出所有兩兩的組合,那麼就變成要找a b 0的問題了,那麼排序o n 去找就可以了 includeusing namespace std define ll long long const int maxn 1005 1005 struct node node maxn bool ...

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...