• <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>
            posts - 195,  comments - 30,  trackbacks - 0
            2152: A Special Sorting
            Status In/Out TIME Limit MEMORY Limit Submit Times Solved Users JUDGE TYPE
            stdin/stdout 3s 8192K 356 152 Standard

            Give you a sequence of words, can you sort them in dictionary order?

            eg.

            yes
            accidental
            baby
            accept
            accident
            
            In dictionary order, those words should be printed as the following
            accept
            accident
            accidental
            baby
            yes
            
            But we will make an interesting rule this time. See your keyboard or the picture below:

            there are ONLY 26 letters in lower-case we will use, and we assume that the letter above is bigger than the letter below, and the left is bigger than the right. For example, 'q' is bigger than 'a', 'c' is bigger than 'v'. So the example at the beginning whill be...

            Input and Output

            the input will only contain a sequence of words which is less than 1500. the output should print the sorted words each in a single line.

            Sample Input

            yes
            accidental
            baby
            accept
            accident
            

            Sample Output

            baby
            accident
            accidental
            accept
            yes
            

            水題啊!
            #include<iostream>
            #include<cstdlib>
            #include<string>
            #include<algorithm>
            using namespace std;
            int Map[27];
            struct M{
             char s[30];
            }S[1500];
            char table[26]={'q','w','e','r','t','y','u','i','o','p','a','s','d',
            'f','g','h','j','k','l','z','x','c','v','b','n','m'};
            bool operator<(M a,M b)
            {
             int i=strlen(a.s);
             int j=strlen(b.s);
             if(i<j)
             j=i;
             for(int k=0;k<j;k++)
             {
              if(Map[(a.s[k])-'a']<Map[(b.s)[k]-'a'])
              return false;
              if(Map[(a.s[k])-'a']>Map[(b.s)[k]-'a'])
              return true;
             }
             return i==j;//Èç¹ûabcd,abc,abcd<abc
            }
            void search(char key)
            {
             int i;
            for(i=0;i<26;i++)
            {
             if(key==table[i])
             {
              Map[key-'a']=i;
              break;
             }
            }
            }
              int main()
              {
              freopen("s.txt","r",stdin);  
              freopen("key.txt","w",stdout);
              int i;
              string t;
              memset(S,0,sizeof(S));
              for(i=0;i<26;i++)
              {
              search('a'+i);
              }
              i=0;
              while(!cin.eof())
               { 
             cin.getline(S[i++].s,30);//不能用cin>>s;否則runtime  error
               }
             sort(S,S+i-1);
             for(int j=0;j<i-1;j++)//必須用i-1,最后還有個空行。
             cout<<S[j].s<<endl;
              //system("PAUSE");
              return   0;
              }
            奇怪的是在vc上能用
            string s ;
            while(cin>>s)
            {};
            在dev c++ 上不行。
            后來才發現可以
            string s ;
            while(cin>>s)
            {};
            但是不能加 memset(S,0,sizeof(S));
            posted on 2009-07-18 16:11 luis 閱讀(658) 評論(0)  編輯 收藏 引用 所屬分類: 格式.輸入輸出.數據類型
            <2009年7月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产亚洲AV不卡| 精品伊人久久久| 99久久国语露脸精品国产| 久久国产精品久久| 国产精品久久久久久久久久免费| 中文字幕成人精品久久不卡| 国产福利电影一区二区三区久久久久成人精品综合 | 久久中文字幕人妻丝袜| 人妻少妇久久中文字幕一区二区| 91久久婷婷国产综合精品青草| 久久国产V一级毛多内射| 午夜人妻久久久久久久久| 亚洲一区二区三区日本久久九| 色婷婷久久综合中文久久一本| 国产精品久久久久久吹潮| 久久久国产精华液| 99久久精品国产麻豆| 久久99久国产麻精品66| 国产免费福利体检区久久| 久久精品夜夜夜夜夜久久| 无夜精品久久久久久| 国产一久久香蕉国产线看观看| 狠狠色丁香久久婷婷综合图片| 久久综合久久综合九色| 亚洲综合伊人久久综合| 亚洲国产精品综合久久一线| 99热成人精品免费久久| 久久人妻少妇嫩草AV无码专区| 久久久亚洲裙底偷窥综合| 久久这里有精品视频| 久久久久久亚洲精品不卡| 国产高潮国产高潮久久久91 | 久久综合亚洲鲁鲁五月天| 久久中文字幕无码专区| 精品综合久久久久久88小说| 91久久精品无码一区二区毛片| 久久无码人妻一区二区三区| 伊人久久大香线蕉综合影院首页 | 亚洲国产成人精品女人久久久 | 久久精品国产精品亚洲人人| 国产99久久久国产精品~~牛|