/因为这道题之前做过一次,看了别人的算法思想用local跟galobal排序并插入,所以一写就是照着这个思想来的,记得第一次做的时候用sort分段排序,麻烦要记录起始位置,好像最后还没A,这次用别人的思想在比较函数出出了点问题,没有意识到别人直接用的string,而我用的字符串数组,比较时要加strcmp;小白啊,大神通篇都是库函数。。。。。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
struct node
{
char id[15];
int score;
int location;
int lrank;
int rank;
};
bool cmp(node a,node b)
{
if(a.score!=b.score)
return a.score>b.score;
else return strcmp(a.id,b.id)<0;
}
vector<node>local,galobal;
int main()
{
freopen("input.txt","r",stdin);
int i,j,n,k;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
scanf("%d",&k);
for(j=0;j<k;j++)
{
node s;
scanf("%s %d",s.id,&s.score);
s.location=i;
local.push_back(s);
}
sort(local.begin(),local.end(),cmp);
for(j=0;j<local.size();j++)
{
if(j!=0&&local[j].score==local[j-1].score)local[j].lrank=local[j-1].lrank;
else local[j].lrank=j+1;
}
galobal.insert(galobal.end(),local.begin(),local.end());
local.clear();
}
sort(galobal.begin(),galobal.end(),cmp);
for(i=0;i<galobal.size();i++)
{
if(i!=0&&galobal[i].score==galobal[i-1].score)galobal[i].rank=galobal[i-1].rank;
else galobal[i].rank=i+1;
}
printf("%d\n",galobal.size());
for(i=0;i<galobal.size();i++)
{
printf("%s %d %d %d\n",galobal[i].id,galobal[i].rank,galobal[i].location,galobal[i].lrank);
}

}
return 0;
}

PAT1025. PAT Ranking的更多相关文章

  1. pat1025. PAT Ranking (25)

    1025. PAT Ranking (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Programmi ...

  2. PAT Ranking (排名)

    PAT Ranking (排名) Programming Ability Test (PAT) is organized by the College of Computer Science and ...

  3. 1025 PAT Ranking[排序][一般]

    1025 PAT Ranking (25)(25 分) Programming Ability Test (PAT) is organized by the College of Computer S ...

  4. PAT 甲级 1025 PAT Ranking

    1025. PAT Ranking (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Programmi ...

  5. 1141 PAT Ranking of Institutions[难]

    1141 PAT Ranking of Institutions (25 分) After each PAT, the PAT Center will announce the ranking of ...

  6. A1025 PAT Ranking (25)(25 分)

    A1025 PAT Ranking (25)(25 分) Programming Ability Test (PAT) is organized by the College of Computer ...

  7. PAT_A1141#PAT Ranking of Institutions

    Source: PAT A1141 PAT Ranking of Institutions (25 分) Description: After each PAT, the PAT Center wil ...

  8. PAT_A1025#PAT Ranking

    Source: PAT A1025 PAT Ranking Description: Programming Ability Test (PAT) is organized by the Colleg ...

  9. 1025 PAT Ranking (25分)

    1025 PAT Ranking (25分) 1. 题目 2. 思路 设置结构体, 先对每一个local排序,再整合后排序 3. 注意点 整体排序时注意如果分数相同的情况下还要按照编号排序 4. 代码 ...

随机推荐

  1. android fragment getActivity()为空的另一个可能

    目前这个方法得到空指针一般来说是因为Activity被销毁导致无法获取,但是开发中又出了一个低级错误导致getActivity为空. 因为我在Fragment的构造函数中调用这个方法了..此时Acti ...

  2. 1.html5 学习要求,Html 5发展历程

    以下是我在学习html5,项目中用到的关于html5的总结和心得. 1.学习要求 Html4.01,xhtml Css2 Javascript 耐心,动手,毅力. 2.Html 发展历程 Html1. ...

  3. C#之线程和并发

    建议大家对C#撑握的不错的时候,可以去看一些开源项目.走技术这条路,就要耐得住寂寞(群里双休日说要让群主找妹子进群的人必须反思),练好内功.不撑握C#高级知识点,别想看懂优秀的开源项目,更别指望吸收其 ...

  4. 执行sh文件 进行MongoDB的业务逻辑导入

    将从HDFS中的数据转化为Json格式写入文件后,十个文件的文件名为 文件名_01 ...._02 ....03格式. 编写个简单的sh文件 通过for do循环让i+1 文件名对应上就可以的- -执 ...

  5. Oracle Erp常用网站

    2014-01-01 Created By BaoXinjian

  6. PLSQL_性能优化工具系列17_Best Practices: Proactive Data Collection for Performance Issues

    占位符 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=2082062510193540&id=1366133. ...

  7. PLSQL_Oracle Lock锁的处理(案例)

    2014-06-21 Created By BaoXinjian

  8. IDC机房网络测试要求

    IDC机房网络质量要求: 我司项目目前覆盖目标机房是国内BGP机房.三线机房.电信机房.联通机房. 要求XXXX IDC机房到目标机房的网络质量,平均丢包≤0.5%,网络延迟≤50ms;高峰期平均丢包 ...

  9. apache 做http代理

    1.修改 http.conf 文件 ,增加 监听端口 Listen 开启需要的扩展 LoadModule proxy_module modules/mod_proxy.so LoadModule pr ...

  10. cotex_m3内核提供的ITM串口打印调试

    cotex_m3内核的ARM提供了ITM串口打印观测的功能,可以不用ARM单片机自己的串口就可在开发时候串口打印调试.节约了宝贵的内部资源,同时也为调试提供了方便.使用方法如下: 1 将下面的SWO_ ...