青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Sephiroth's boring days!!!

Love just for you.

字符串處理-牛的人品

【問題描述】

天蒼蒼,野茫茫,JSZX的菜鳥們來到OI牧場旅游,看到了好多好多的牛。OI牧場所有的牛都覺得自己的Rp最高(簡稱RP牛),為此他們常爭論不休。于是,他們讓JSZX的菜菜們用最最樸素的方法找出這只RP牛。

經過討論,最菜的mmk想出了最樸素的方法:

我們要以cows的名字為線索,來找出RP牛。

首先,得到n頭牛的名字清單(每頭牛的名字是一個僅包含小寫字母的字符串,且這些牛的讀寫方式比較特殊—從右到左),然后對每頭牛進行檢驗,檢驗按照牛的讀寫方式進行。規則如下:

1.Rp 牛的名字中必須有子串“jszxoier”

2.將名字中的每個“cow”的替換為“bird”。

3.計算Rp值:A為名字中子串“r”的個數;

B為名字中子串“p”的個數;

C為名字中字串“rp”的個數;

Rp值即為5×A+5×B+20×C。

最后輸出RP牛的名字,若有多個RP牛,則輸出名字最短的那個。

假如你也是牛中一員,盡管你很不屑這樣的水題,但是,你很想到RP牛那里分點Rp,所以你決定解決這道題,并算出RP牛的Rp是多少。

【輸入】

第一行,一個數n(n<=3000)。

接下來的n行,每行一個字符串,長度<=300,數據保證存在RP牛。

【輸出】

共兩行

第一行為RP牛的名字

第二行為RP牛的Rp值

【樣例輸入】

8

reioxzsjzmy

mmk

jwc

zxf

jwc

wangwei

xcy

yuhc

【樣例輸出】

reioxzsjzmy

5


我用KMP匹配的,代碼挺短,還比string.h的好用。

  1: #include <stdio.h>
  2: #include <string.h>
  3: #include <iostream>
  4: #define maxn 400
  5: using namespace std;
  6: 
  7: int f[maxn];
  8: char *aa="jszxoier",*bb="cow",*ee="rp",s[maxn];
  9: int a,b,c,tem,ans,anslen,len,m;
 10: int n;
 11: bool t;
 12: char anss[400];
 13: 
 14: void initf(char *s)
 15: {
 16:     memset(f,0,sizeof(f));
 17:     m=strlen(s);
 18:     int k=-1;
 19:     f[0]=-1;
 20:     for (int i=1;i<m;++i)
 21:     {
 22:         while ((k>-1)&&(s[k+1]!=s[i])) k=f[k];
 23:         if (s[k+1]==s[i]) ++k;
 24:         f[i]=k;
 25:     }
 26: }
 27: 
 28: void changef(char *s)
 29: {
 30:     initf(s);
 31:     int k;
 32:     for (int i=0;i<m;++i)
 33:     {
 34:         k=f[i];
 35:         while ((k>-1)&&(s[k+1]==s[i+1])) k=f[k];
 36:         f[i]=k;
 37:     }
 38: }
 39: 
 40: int main()
 41: {
 42:     freopen("input.txt","r",stdin);
 43:     freopen("output.txt","w",stdout);
 44:     
 45:     scanf("%d",&n);
 46:     for (int dt=1;dt<=n;++dt)
 47:     {
 48:         memset(s,0,sizeof(s));
 49:         scanf("%s",s);
 50:         strrev(s);
 51:         changef(aa);
 52:         len=strlen(s);
 53:         int k=-1;
 54:         t=0;
 55:         for (int i=0;i<len;++i)
 56:         {
 57:             while ((k>-1)&&(aa[k+1]!=s[i])) k=f[k];
 58:             if (aa[k+1]==s[i]) ++k;
 59:             if (k==m-1)
 60:             {
 61:                 t=1;
 62:                 break;
 63:             }
 64:         }
 65:         if (!t) continue;
 66:         a=b=c=0;
 67:         changef(bb);
 68:         for (int i=0;i<len;++i)
 69:         {
 70:             while ((k>-1)&&(bb[k+1]!=s[i])) k=f[k];
 71:             if (bb[k+1]==s[i]) ++k;
 72:             if (k==m-1) ++a;
 73:         }
 74:         for (int i=0;i<len;++i)
 75:             if (s[i]=='r') ++a;
 76:         for (int i=0;i<len;++i)
 77:             if (s[i]=='p') ++b;
 78:         changef(ee);
 79:         for (int i=0;i<len;++i)
 80:         {
 81:             while ((k>-1)&&(ee[k+1]!=s[i])) k=f[k];
 82:             if (ee[k+1]==s[i]) ++k;
 83:             if (k==m-1) ++c;
 84:         }
 85:         tem=a*5+b*5+c*20;
 86:         if (tem>ans)
 87:         {
 88:             memset(anss,0,sizeof(anss));
 89:             strcat(anss,s);
 90:             ans=tem;
 91:             anslen=len;
 92:         }
 93:         else
 94:             if (tem==ans)
 95:                 if (len<anslen)
 96:                 {
 97:                     memset(anss,0,sizeof(anss));
 98:                     strcat(anss,s);
 99:                 }
100:     }
101:     strrev(anss);
102:     printf("%s\n%d\n",anss,ans);
103:     return 0;
104: }
105: 

posted on 2010-08-30 21:55 Sephiroth Lee 閱讀(338) 評論(0)  編輯 收藏 引用 所屬分類: 信息奧賽

free counters
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久午夜精品| 欧美伊人久久久久久午夜久久久久 | 亚洲高清色综合| 亚洲欧美久久久| 午夜精品一区二区三区电影天堂 | 久久嫩草精品久久久精品一| 欧美一区不卡| 久久久久久97三级| 猛男gaygay欧美视频| 久久在线免费| 欧美精品www在线观看| 欧美美女bb生活片| 欧美日韩小视频| 国产精品久久一卡二卡| 国产精品主播| 黄色综合网站| 日韩视频免费看| 午夜国产不卡在线观看视频| 欧美一区二区三区的| 久久综合色播五月| 亚洲人屁股眼子交8| 99视频在线精品国自产拍免费观看| 日韩一区二区福利| 欧美一区激情| 欧美福利一区二区三区| 国产精品v日韩精品| 激情久久婷婷| 亚洲天堂成人在线观看| 久久久久免费视频| 日韩视频三区| 久久视频国产精品免费视频在线| 亚洲一区欧美激情| 亚洲第一综合天堂另类专| 欧美激情在线观看| 欧美在线高清视频| 久久精品中文| 老司机午夜免费精品视频| 午夜一区二区三区不卡视频| 免费在线日韩av| 一本大道久久精品懂色aⅴ| 国内精品久久久久久久影视蜜臀| 在线成人免费视频| 欧美一区二区三区四区高清| 亚洲高清视频在线| 久久九九99视频| 国产精品自拍小视频| 99ri日韩精品视频| 欧美大片在线看免费观看| 亚洲自啪免费| 欧美少妇一区| 日韩视频在线播放| 欧美国产精品人人做人人爱| 欧美一区二区三区在| 国产精品视频一二三| 亚洲在线视频| 亚洲最新视频在线| 欧美日韩午夜在线| 亚洲一二三级电影| 日韩午夜在线观看视频| 美女免费视频一区| 91久久综合亚洲鲁鲁五月天| 欧美丰满高潮xxxx喷水动漫| 久久精品国产久精国产爱| 国产视频一区在线观看一区免费 | 午夜亚洲性色福利视频| 亚洲片在线资源| 欧美人与禽性xxxxx杂性| 日韩图片一区| 亚洲免费成人av| 欧美日韩国产三区| 日韩亚洲国产欧美| 猛男gaygay欧美视频| 欧美在线视频a| 欧美日韩在线播放一区二区| 国产精品mv在线观看| 午夜久久tv| 午夜精品久久一牛影视| 蜜桃久久精品乱码一区二区| 国产精品高清免费在线观看| 免费亚洲视频| 一区二区三区在线高清| 羞羞色国产精品| 国产精品美女www爽爽爽视频| 亚洲激情电影在线| 亚洲成色777777在线观看影院| 亚洲一级黄色av| 欧美日韩三级一区二区| 在线亚洲一区| 在线亚洲自拍| 国产精品福利网| 亚洲欧美日韩国产另类专区| 欧美在线不卡| 一本综合精品| 欧美性大战久久久久| 亚洲夜间福利| 亚洲视频成人| 亚洲精品视频在线播放| 亚洲国产高清在线| 亚洲一区二区三区四区五区午夜| 国产日韩在线一区| 欧美一区综合| 欧美一区二区在线播放| 在线看日韩欧美| 91久久精品一区| 欧美日韩三区| 久久另类ts人妖一区二区| 久久久国产成人精品| 亚洲精品久久久久久久久| 亚洲精品国产精品国自产观看| 欧美日韩成人在线视频| 亚洲电影免费观看高清| 欧美不卡激情三级在线观看| 一本久久a久久免费精品不卡| 中日韩男男gay无套| 国产情人综合久久777777| 老牛嫩草一区二区三区日本 | 欧美电影电视剧在线观看| 国产日本欧美一区二区三区在线| 免费不卡中文字幕视频| 亚洲综合另类| 黄网动漫久久久| 国产精品扒开腿做爽爽爽视频| 亚洲高清毛片| 性刺激综合网| 国产精品人人爽人人做我的可爱| 亚洲国产天堂久久国产91| 亚洲黄色一区| 欧美电影免费观看高清| 欧美片第一页| 亚洲欧洲美洲综合色网| 美女诱惑一区| 国产精品久久国产精麻豆99网站| 性一交一乱一区二区洋洋av| 亚洲综合社区| 麻豆精品一区二区av白丝在线| 欧美成人免费网站| 国产精品久久久久毛片大屁完整版| 欧美一区二区在线看| 伊人久久大香线蕉av超碰演员| 亚洲欧美视频| 美女网站久久| 开元免费观看欧美电视剧网站| 国模大胆一区二区三区| 亚洲福利视频二区| 日韩视频一区二区三区在线播放| 欧美在线日韩| 中国女人久久久| 欧美专区18| 亚洲一区999| 欧美电影资源| 免费观看成人鲁鲁鲁鲁鲁视频 | 亚洲高清视频在线观看| 麻豆成人小视频| 国产美女精品一区二区三区| 亚洲伦理在线| 99视频有精品| 欧美精品一区二区三区蜜桃| 亚洲国产老妈| 久久久久久久999精品视频| 亚洲一区中文| 欧美专区在线播放| 亚洲在线观看免费| 亚洲麻豆一区| 欧美黄在线观看| 免费成人av| 久久大逼视频| 欧美亚洲免费| 麻豆国产精品777777在线| 开心色5月久久精品| 久久久亚洲精品一区二区三区| 亚洲欧美另类国产| 午夜久久tv| 国产精品久久久久一区二区三区共 | 亚洲视频在线视频| 韩国一区电影| 国产又爽又黄的激情精品视频| 国产揄拍国内精品对白| 黄色日韩在线| 中文欧美日韩| 久久九九99视频| 久久成人精品无人区| 亚洲国产精品va在线观看黑人| 99riav国产精品| 在线亚洲免费| 亚洲在线第一页| 国内不卡一区二区三区| 日韩视频一区二区| 欧美日精品一区视频| 久久久久久电影| 亚洲欧美日韩一区二区在线| 欧美三级特黄| 亚洲国产天堂久久国产91| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲欧美在线x视频| 亚洲精品在线视频| 欧美va日韩va| 欧美国产丝袜视频| 国外视频精品毛片| 午夜精品视频在线观看一区二区| 欧美精品久久天天躁|