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 -1
1 -5
2 4
output示例
yes
#include
using namespace std;
int a[1234];
struct node
}b[1234*1234];
int main()
int k=0;
for(int i=0;ifor(int j=0;jsum=a[i]+a[j];}}
sort(b,b+k);
int l=0,r=k-1;
bool ok=false;
while(l<=r) else
if(b[l].sum==b[l+1].sum) else
if(b[r].sum==b[r-1].sum) else
} else
if(b[l].sum+b[r].sum
<0) else
if(b[l].sum+b[r].sum>0)
}if(ok) else
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...