讨论 / 为啥只有70分呢?[color=red][悬赏:¥0.00][/color]
李山山 2008-11-14 05:00:00
点我顶贴 收藏 删除
状态题目:奖学金

题目编号:126-奖学金 查看该题

状态: Unaccepted

测评机: Xeond[6]

得分: 70分

提交日期: 2008-11-12 23:39:00

有效耗时: 766毫秒

测试结果1: 通过本测试点|有效耗时172:ms

测试结果2: 通过本测试点|有效耗时62:ms

测试结果3: 通过本测试点|有效耗时63:ms

测试结果4: 通过本测试点|有效耗时63:ms

测试结果5: 测试结果错误.错误结果为:66 276

19 270

88 270

101 270

93 267

正确结果应为:66 276

88 270

19 270

101 270

93 267

测试结果6: 测试结果错误.错误结果为:96 261

136 252

5 251

37 251

33 249

正确结果应为:96 261

136 252

37 251

5 251

33 249

测试结果7: 测试结果错误.错误结果为:10 292

45 292

130 292

143 276

171 276

正确结果应为:10 292

45 292

130 292

171 276

143 276

测试结果8: 通过本测试点|有效耗时172:ms

测试结果9: 通过本测试点|有效耗时172:ms

测试结果10: 通过本测试点|有效耗时62:ms

提交代码: 测试结果错误.错误结果为:66 276

19 270

88 270

101 270

93 267

正确结果应为:66 276

88 270

19 270

101 270

93 267

#1 李山山@2008-11-12 07:49:00
回复 删除
顶一下!
#2 李山山@2008-11-14 01:10:00
回复 删除
顶顶顶顶!
#3 Jollwish@2008-11-14 04:36:00
回复 删除
还要看语文成绩
#4 飞雪天涯@2008-11-14 05:00:00
回复 删除
#include<iostream>

#define needed 5

#define maxn 300

using namespace std;

#define fin cin

#define fout cout

struct stu

{

int number;

int chinese;

int math;

int english;

int together;

} scholar[maxn];

void data_change(int i,int j);

int data_cmp(int i,int j);

void sort1(int n);

int main (void)

{

int n;

fin>>n;

for (int i=0;i<n;i++)

{

fin>>scholar[i].chinese>>scholar[i].math>>scholar[i].english;

scholar[i].together=scholar[i].chinese+scholar[i].math+scholar[i].english;

scholar[i].number=i+1;

}

sort1(n);

for (int i=0;i<needed;i++)

fout<<scholar[i].number<<" "<<scholar[i].together<<endl;

return 0;

}

void data_change(int i,int j)

{

stu switch_temp;

switch_temp=scholar[i];

scholar[i]=scholar[j];

scholar[j]=switch_temp;

}

int data_cmp(int i,int j)

{

if (scholar[i].together==scholar[j].together)

{

if (scholar[i].chinese==scholar[j].chinese)

return (scholar[i].number<scholar[j].number)?1:-1;

else

return (scholar[i].chinese>scholar[j].chinese)?1:-1;

}

else return (scholar[i].together>scholar[j].together)?1:-1;

}

void sort1(int n)

{

for (int i=0;i<n-1;i++)

for (int j=i+1;j<n;j++)

if (data_cmp(i,j)==-1)

{

data_change(i,j);

}

}

//Last Edited:飞雪天涯(AH-1088)

//Author:SnowFly

//ALGORITHM:sort with special compare

//Time:O(n^2/2)

//Memory:2K

查看更多回复
提交回复