• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我住包子山

            this->blog.MoveTo("blog.baozishan.in")

            pku3297解題報(bào)告

            這道題我用的方法很麻煩,使用一個(gè)結(jié)構(gòu)體vector保存結(jié)果,使用一個(gè)map判斷是不是一個(gè)人報(bào)了兩個(gè)工程.使用set判斷一個(gè)工程是不是有人重復(fù)報(bào)名
            于是就有了下面的笨拙代碼

             1#include <string>
             2#include <set>
             3#include <vector>
             4#include <memory.h>
             5#include <map>
             6#include <algorithm>
             7using namespace std;
             8
             9struct Project
            10{
            11    string name;
            12    int studentcount;
            13    Project()
            14    {
            15        studentcount=0;
            16        name.assign("");
            17    }

            18}
            ;
            19
            20map<string,int> studentmap;
            21set<string> studentset;
            22vector<Project> prov;
            23int countarray[101]={0};
            24char strtemp[100]="";
            25Project project;
            26
            27inline bool comp(const Project &p1,const Project &p2)
            28{
            29    return p1.studentcount>p2.studentcount;
            30}

            31inline bool comp2(const Project &p1,const Project &p2)
            32{
            33    return p1.name.compare(p2.name)<0;
            34}

            35
            36int main()
            37{
            38    
            39    while(true)
            40    {
            41        int projcount=0;
            42        prov.push_back(project);
            43        while(true)
            44        {
            45            gets(strtemp);
            46            project.name.assign(strtemp);
            47            if(project.name[0]=='1')break;
            48            if(project.name[0]=='0')exit(0);
            49            if(project.name[0]>='A'&&project.name[0]<='Z')
            50            {
            51                prov.push_back(project);
            52                studentset.clear();
            53                projcount++;
            54            }

            55            if(project.name[0]>='a'&&project.name[0]<='z')
            56            {
            57                if(studentmap[strtemp]==0)
            58                {
            59                    studentmap[strtemp]=projcount;
            60                }

            61                else if(studentmap[strtemp]==-1)
            62                {
            63                    continue;
            64                }

            65                else if(studentmap[strtemp]!=projcount)
            66                {
            67                    prov[studentmap[strtemp]].studentcount--;
            68                    studentmap[strtemp]=-1;
            69                    continue;
            70                }

            71                if(studentset.count(strtemp))
            72                    continue;
            73                else
            74                {
            75                    studentset.insert(strtemp);
            76                    prov[projcount].studentcount++;
            77                }

            78            }
                                    
            79        }

            80        prov.erase(prov.begin());
            81        stable_sort(prov.begin(),prov.end(),comp2);
            82        stable_sort(prov.begin(),prov.end(),comp);
            83        for(int i=0;i<prov.size();i++)
            84        {
            85            printf("%s %d\n",prov[i].name.c_str(),prov[i].studentcount);
            86        }

            87        memset(countarray,0,sizeof(countarray));
            88        studentmap.clear();
            89        prov.clear();
            90        
            91    }

            92}

            93
            94

            posted on 2007-07-28 16:37 Gohan 閱讀(378) 評論(0)  編輯 收藏 引用 所屬分類: C++ 、Practise

            亚洲国产精品成人AV无码久久综合影院| 精品久久久久久无码不卡| 国产精品禁18久久久夂久| 久久精品一区二区三区不卡| 99久久精品久久久久久清纯| 久久99国产精品久久99小说| 国产产无码乱码精品久久鸭| 国内精品欧美久久精品| 久久精品国产亚洲AV影院 | 久久亚洲AV无码精品色午夜| 一本久久a久久精品亚洲| 99久久精品无码一区二区毛片| 亚洲精品视频久久久| 国产精品久久波多野结衣| 久久99九九国产免费看小说| 香蕉久久夜色精品国产小说| 精品久久久久久国产| 久久精品国产亚洲5555| 狠狠色丁香婷综合久久| 久久精品国产亚洲av麻豆图片 | 伊人久久大香线焦AV综合影院| 99久久夜色精品国产网站| 久久亚洲精品中文字幕| 一级a性色生活片久久无| 国产午夜精品久久久久九九电影 | 97精品久久天干天天天按摩| 精品国产青草久久久久福利| 久久夜色精品国产亚洲av| 99久久国产主播综合精品| 久久香蕉综合色一综合色88| AV狠狠色丁香婷婷综合久久| 亚洲中文字幕无码久久精品1| 亚洲Av无码国产情品久久| A狠狠久久蜜臀婷色中文网| 久久久亚洲欧洲日产国码二区 | 品成人欧美大片久久国产欧美| 久久久久亚洲av无码专区喷水| 亚洲中文字幕久久精品无码APP | 久久久久久九九99精品| 色婷婷久久综合中文久久蜜桃av| 影音先锋女人AV鲁色资源网久久|