CodeForce 19A World Football Cup (string类应用)

来源:互联网 发布:古典吉他民谣吉他 知乎 编辑:程序博客网 时间:2024/06/05 03:34

十足水题,拿来练手速的,做完之后从别人那里学了点东西:

STL的string类中有如下用于查找的函数

find_first_of (char *s,int pos)//从pos开始查找第一个s字符集的某字符出现在串中的位置,成功时返回所在位置find_last_offind_first_not_offind_last_not_of


题意:足球比赛,给出n(保证是偶数)支队伍的队名和的对阵结果,有一半的队伍出线,按照字典序输出出线的队伍。排序规则:得分胜3平1负0,分数相等比较净胜球,净胜球相等比较进球数。

#include <iostream>#include <cstdio>#include <map>#include <cstring>#include <string>#include <algorithm>using namespace std;struct Data{    int num;    string name;    int dif,score;    Data () {num=0,dif=0,score=0;}    ~Data () {}    bool operator < (const Data& b) const    {        if (num!=b.num) return num>b.num;        else if (dif!=b.dif) return dif>b.dif;        else if (score!=b.score) return score>b.score;        return false;    }}data[105];bool cmp (const Data &a,const Data &b){    if (a.name<b.name) return true;    return false;}char str[105],str2[105];int n;map<string,int> mp;void In (){    int i;    scanf("%s",str);    for (i=0;true;i++)        if (str[i]=='-')        {            str[i]=0;            break;        }    strcpy(str2,str+i+1);}int main (){    while (~scanf("%d",&n))    {        int i;        mp.clear();        for (i=0;i<n;i++)        {            cin>>data[i].name;            mp[ data[i].name ]=i;        }        int a,b,id1,id2;        for (i=1;i<=n*(n-1)/2;i++)        {            In ();            scanf("%d:%d",&a,&b);            id1=mp[str];            id2=mp[str2];            data[id1].score+=a;            data[id1].dif+=a-b;            data[id2].score+=b;            data[id2].dif+=b-a;            if (a>b)                data[id1].num+=3;            else if (a<b)                data[id2].num+=3;            else if (a==b)                data[id1].num+=1,data[id2].num+=1;        }        sort(data,data+n);sort(data,data+n/2,cmp);for (i=0;i<n/2;i++)cout<<data[i].name<<endl;    }    return 0;}


 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4岁宝宝数都不会怎么办 两岁宝宝太撅怎么办 儿童晚上发烧白天不发烧怎么办 宝宝晚上睡觉认人怎么办 两岁宝宝尿裤子怎么办 分手了想和好怎么办说 2岁半宝宝胆小怎么办 1岁半宝宝胆小怎么办 分手了还是想他怎么办 两岁宝宝夜惊怎么办 孩子误吃了牙膏怎么办 孩子跳舞脸上的妆卸不掉怎么办 4周岁还不会说话怎么办 宝贝2岁多还不会说话怎么办 孩子20个月离婚怎么办 两个月宝宝闹夜怎么办 两个月宝宝闹瞌睡怎么办 2岁宝宝话特别多怎么办 宝宝3岁还不会说话怎么办 小儿3岁说话晚怎么办 1岁半了不会说话怎么办 宝宝2岁还说话晚怎么办 一岁宝宝不愿意学说话怎么办 2周岁宝宝不愿意学说话怎么办 三岁宝宝不爱说话应该怎么办 三岁宝宝不理人怎么办 两岁半宝宝不说话不连贯怎么办 宝宝三岁说话口齿不清怎么办 b超宝宝腿短怎么办 两岁宝宝学说话口吃怎么办 两岁宝宝说话少怎么办 三岁宝宝说话少怎么办 快4岁不会说话怎么办 宝宝2岁半不爱说话怎么办 两岁半宝宝注意力不集中怎么办 中国出生的外籍小孩怎么办签证 中国人入外籍后国内财产怎么办 中国人入外籍后国内资产怎么办 小孩去美国上小学怎么办 咳嗽震的胸口疼怎么办 高中孩子对手机着迷怎么办