福彩22选5走势图 中两个数有钱没有 中3个数是多少钱

51nod 1090
3个数和为0 & 51nod 1267
4个数和为0(标记二分)
题目意思:
3个数的和为0:
给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。
第1行,1个数N,N为数组的长度(0 &= N &= 1000)
第2 - N + 1行:A[i](-10^9 &= A[i] &= 10^9)
如果没有符合条件的组合,输出No Solution。
如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则继续按照第二小的数排序。每行3个数,中间用空格分隔,并且这3个数按照从小到大的顺序排列。
Input 示例
Output 示例
题目分析:
此题可以二分,首先计算任意两个数的和存到数组b中,进行排序a(原数组)和b数组,进行判断a[i=0]+b[j=(n*(n-1))]=0?,如果三个数两两不等且等于0,则存到结果数组,(保证输出时结果不重复),最后输出结果集。详见代码,写的有点乱,望见谅!
#define MAX 1001
int a[MAX],b[3];
struct node{
}s[MAX*(MAX-1)];
struct Snode{
int si,sj,
}p[MAX*(MAX+5)];
int cmp1(node a,node b){
if(a.si+a.sj&=b.si+b.sj) return 1;
int cmp2(Snode a,Snode b){
if(a.si&n){
for(int i=0;i&a[i];
for(int j=0;j=0){
if(s[j].si+s[j].sj+a[i]==0){
if(a[i]!=s[j].si&&a[i]!=s[j].sj){
b[0]=a[i]; b[1]=s[j]. b[2]=s[j].
sort(b,b+3);
p[kk].si=b[0];
p[kk].sj=b[1];
p[kk++].sk=b[2];
else if(s[j].si+s[j].sj+a[i]&0){
else if(s[j].si+s[j].sj+a[i]&0){
//cout&<kk<</kk<
四个数的和是否为0
/onlineJudge/questionCode.html#!problemId=1267
给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出Yes,否则输出No。 Input
第1行,1个数N,N为数组的长度(4 &= N &= 1000)
第2 - N + 1行:A[i](-10^9 &= A[i] &= 10^9)
如果可以选出4个数,使得他们的和为0,则输出Yes,否则输出No。
Input 示例
Output 示例
题目分析:
本题和三个数的和为0,算法一样,只是这里数组b和自己求和是否为0,比较是否用两两相等的时候,需要比较下标,只要相加是将两个数的下标对应存起来即可。
*序列中可能有重复的数
*首先两个数相加为一个序列,再用这个序列和和本序列相加是否等于0
*判断是注意比较是否四个数是否相等,由于可能有重复的数,只能用
*位置判断,及记录两个数的位置下标进行比较,
*记过等于0且不相等YES,否则NO
#define MAX 1001
int a[MAX];
struct node{
}s[MAX*(MAX-1)];
int cmp1(node a,node b){
if(a.sum&=b.sum) return 1;
int main()
while(cin&&n){
for(int i=0;i&a[i];
for(int j=0;j0){
if(ok) cout&<no<</no<
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 福建体彩22选5 的文章

 

随机推荐