| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么WA?谁能帮我看看啊?#include <iostream>
#include <fstream>
using namespace std;
struct Team
{
int number;
int solve_num;
int ttime;
};
struct Test
{
int c;
int p;
int t;
int r;
};
Test test[1001];
Team team[1001];
int cmp(const void *arg1,const void *arg2)
{
Test *p1 = (Test*)arg1;
Test *p2 = (Test*)arg2;
if(p1->c != p2->c)
return p1->c - p2->c;
else
{
if(p1->p != p2->p)
return p1->p - p2->p;
else if(p1->r != p2->r)
return p1->r - p2->r;
}
return 0;
}
int compare(const void *arg1,const void *arg2)
{
Team *p1 = (Team*)arg1;
Team *p2 = (Team*)arg2;
if(p1->solve_num != p2->solve_num)
return p2->solve_num - p1->solve_num;
else if(p1->ttime != p2->ttime)
return p1->ttime - p2->ttime;
else
return p1->number - p2->number;
return 0;
}
int main()
{
int m,n;
fstream file;
file.open("1.txt",ios::in | ios::out);
file>>m>>n;
int i;
for(i = 1; i <= n; i++)
{
file>>test[i].c>>test[i].p>>test[i].t>>test[i].r;
}
qsort(test + 1,n,sizeof(Test),cmp);
int time = 0;
memset(team,0,sizeof(team));
for(i = 1; i <= m; i++)
{
team[i].number = i;
}
for(i = 1; i <= n; i++)
{
if(test[i].r == 1)
{
if(test[i].c != test[i - 1].c || test[i].p != test[i - 1].p)
time = 0;
if(test[i].c == test[i - 1].c && test[i].p == test[i - 1].p && test[i - 1].r == 1)
team[test[i].c].solve_num--;
team[test[i].c].solve_num++;
team[test[i].c].ttime += (time + test[i].t);
team[test[i].c].number = test[i].c;
time = 0;
}
else
{
if(test[i].c != test[i - 1].c || test[i].p != test[i - 1].p)
time = 0;
time += test[i].t;
}
}
qsort(team + 1,m,sizeof(Team),compare);
for(i = 1; i <= m; i++)
{
cout<<team[i].number<<" ";
}
cout<<endl;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator