注册 登录
编程论坛 C++教室

刚学习C++不久,求助

東東 发布于 2007-09-02 12:13, 1012 次点击

这个问题怎么样去理解啊谢谢!!
Bessie要从她的N头奶牛中(N大于0且N小于100) 选择一部分去参加一个展览。
她已经给出了每头奶牛的两个指标,Si和Fi(-1000<=Si,Fi<=1000),分别代表每头奶牛的聪明指数和快乐指数。当然她希望所挑选奶牛的Si和Fi的总和最大,而且为了显示她的奶牛是全面发展的,Si和Fi各自的和数不能小于0。


Input

第1行:奶牛总数N
第2到N+1行:每头奶牛的Si和Fi

Output

输出只有一行:
输出符合条件的Si和Fi的最大总和

Sample Input


5
-5 7
8 -6
6 -3
2 1
-8 -5

Sample Output


8

[此贴子已经被作者于2007-9-2 12:16:00编辑过]

11 回复
#2
yusian2007-09-02 12:35
结果满足两个条件:1、Si Fi都要大于零。2、Si+Fi的值最大
#3
kisscjy2007-09-02 12:36
不太明白 最后的8是怎样来的~~~
#4
aipb20072007-09-02 13:15
题目有问题吧!
#5
東東2007-09-02 18:54
谢谢各位看了我的贴子
问题就是那样的
就是我也没有看懂
但是有人做出来了的
#6
東東2007-09-03 10:16

来了就给点意见嘛
我想搞懂这个题呢
谢谢哈!!!!

#7
ttolds2007-09-03 15:21

#include "iostream.h"


class non
{
public:
non( int x,int y,int n)
{
if(x>1000)
x=1000;
if(x<-1000)
x=-1000;
if(y>100)
y=1000;
if(y<-1000)
y=-1000;
si=x;
fi=y;
no=n;
}

int power()
{
return si+fi;
}

int no;
private:

int si;
int fi;
};

void main()
{
non* ns[100];
non* np;
int m,s,f,pw;
int max[2]={0,-2001};
cin>>m;
for(int i=0;i<m;i++)
{
cout<<"请输入智商:";
cin>>s;
cout<<endl;
cout<<"请输入快乐:";
cin>>f;
cout<<endl;
np=new non(s,f,i+1);
ns[i]=np;
pw=np->power();
if(pw>=max[1])
{
max[0]=i+1;
max[1]=pw;
}
np=NULL;
}
cout<<"The max is "<<max[0]<<" non .is power:"<<max[1]<<endl;

}

#8
ttolds2007-09-03 15:25

最简单的方法是用数组
但是你说用C++的话 我想还是用对象的方法比较直观些!

#9
東東2007-09-03 20:35

謝謝哈

#10
東東2007-09-03 20:38

本來只想叫你幫我看看的
教我怎麽理解,怎麽做.
謝謝你把程序都寫出來了,我自己把看懂
謝謝

#11
東東2007-09-04 12:21
上面那个程序和输出的结果不是要求的
请路的朋友再看一下,谢谢了
#12
xjlsgcjdtc2007-09-05 00:16

只要在7楼的程序中加入
cin>>x; // x为要选择的奶牛个数 0=<x<=n
然后再对ns[i]数组进行x趟选择排序就行了啊

1