POJ 2021

时间:2022-08-09 05:25:51
#include <iostream>
#include <string>
#include <algorithm>
#define MAXN 105 using namespace std; struct node
{
string name_f;
string name;
int f_c;
int age;
}; node _m[MAXN]; int find_pre(string _name); int n; bool op(node a,node b); int main()
{
//freopen("acm.acm","r",stdin);
int test;
int i;
int tem;
cin>>test;
tem = test;
while(test --)
{
cout<<"DATASET "<<tem - test<<endl;
cin>>n;
for(i = ; i < n; ++ i)
{
cin>>_m[i].name_f;
cin>>_m[i].name;
cin>>_m[i].f_c;
}
for(i = ; i < n; ++ i)
{
_m[i].age = -;
}
for(i = ;i < n; ++ i)
{
if(_m[i].name_f == "Ted")
{
_m[i].age = - _m[i].f_c;
}
else
_m[i].age = find_pre(_m[i].name_f) - _m[i].f_c;
}
sort(_m,_m+n,op); for(i = ; i < n; ++ i)
{
cout<<_m[i].name<<" "<<_m[i].age<<endl;
}
}
} bool op(node a,node b)
{
if(a.age > b.age)
return true;
else if(a.age == b.age)
{
if(a.name < b.name)
{
return true;
}
}
return false;
} int find_pre(string _name)
{
int i;
if(_name == "Ted")
{
return ;
}
for(i = ; i < n; ++ i)
{
if(_m[i].name == _name)
{
if(_m[i].age != -)
{
return _m[i].age;
}
_m[i].age = find_pre(_m[i].name_f) - _m[i].f_c;
return _m[i].age;
}
}
}

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

POJ 2021

技术网站地址: vmfor.com