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

posts - 195,  comments - 30,  trackbacks - 0
Status In/Out TIME Limit MEMORY Limit Submit Times Solved Users JUDGE TYPE
stdin/stdout 3s 8192K 439 74 Standard

Io and Ao are playing a word game. They say a word in the dictionary by turns. The word in the dictionary only contains lowercase letters. And the end character of the former said word should be the same as the start character of the current said word. They can start the game from any word in the dictionary. Any word shouldn't be said twice. Now, we define the complexity of the game that is the sum length of all words said in the game. Give you a dictionary, can you tell me the max complexity of this word game?

Input

The first line contains a single positive integer n(0 < n <=12). Next n lines are n words in the dictionary. The length of each word will not exceed 100.

Output

A single integer represents the complexity of the game.

Sample Input

3
joj
jlu
acm
6
cctv
redcode
lindong
we
love
programming
3
daoyuanlee
come
on

Sample Output

6
11
10

Problem Source: provided by loon

#include<iostream>
#include<cstdlib>
using namespace std;
struct S
{
 string a;
 char begin;
 char end;
 int length;
 }s[13];
 int visited[13];
int temp; 
void search(int a,int num,int pre)
 {
  
  for(int i=0;i<num;i++ )
  {
   if(s[i].begin==s[pre].end&&visited[i]==0)
   {
    visited[i]=1;
    search(a+s[i].length,num,i);
    if(a+s[i].length>temp)temp=a+s[i].length;
    visited[i]=0;
   }
  }
 }
  int main()
  {
  freopen("s.txt","r",stdin);
  freopen("key.txt","w",stdout);
   int num;
   while(cin>>num)
   {
    int i;
  temp=0;
  for( i=0;i<num;i++)
  {
   cin>>s[i].a;
   s[i].length=(s[i].a).size();
   s[i].begin=(s[i].a)[0];
   s[i].end=(s[i].a)[s[i].length-1];
   if(s[i].length>temp)
   temp=s[i].length;
     }
  for(i=0;i<num;i++) 
     {
   memset(visited,0,sizeof(visited));
   visited[i]=1;
   search(s[i].length,num,i);
  }
  cout<<temp<<endl;
 }

  //system("PAUSE");
  return   0;
  }

以上代碼超時。完全可以剪枝。
舉個例子
abc
cbd
dbm
dbacmdp
我的程序一直搜啊搜,每次搜完都重新開始。比如在以a開頭后,搜到c,下次再搜索時直接利用c的結果,這是深搜的特點決定的!!!
*************************
這種類似的有序搜索都可以用     *  備忘錄方法*
**************************
#include<iostream>
#include<cstdlib>
using namespace std;
int num;
struct S
{
 string a;
 char begin;
 char end;
 int length;
 }s[13];
 int visited[13];
int temp;
int sum[13]; 
int search(int pre)//·µ»Ø´ÓpreµãÒÔºóµÄ×ܵÄÖµ
 {
  int j=s[pre].length,k=0;
  for(int i=0;i<num;i++ )
  {
   if(s[i].begin==s[pre].end&&visited[i]==0&&i!=pre)//必須要有I!=pre
   {
    visited[i]=1;
    k=search(i)+s[pre].length;
    if(k>j)j=k;
   }
   else
   {
    if(s[i].begin==s[pre].end&&i!=pre)//必須要有i!=pre
    return sum[i]+s[pre].length;//相當于備忘錄,而且無需visited[i]=0;
   }
  }
  sum[pre]=j;
  return j;
 }
  int main()
  {
 freopen("s.txt","r",stdin);
  freopen("key.txt","w",stdout);
   while(cin>>num)
   {
    int i,j;
  temp=0;
  j=0;
  for( i=0;i<num;i++)
  {
   cin>>s[i].a;
   s[i].length=(s[i].a).size();
   s[i].begin=(s[i].a)[0];
   s[i].end=(s[i].a)[s[i].length-1];
   if(s[i].length>temp)
   temp=s[i].length;
     }
  for(i=0;i<num;i++) 
     {
   memset(visited,0,sizeof(visited));
            memset(sum,0,sizeof(sum));
   visited[i]=1;
   j=search(i);
   if(j>temp)
   temp=j;
  }
  cout<<temp<<endl;
 }

  //system("PAUSE");
  return   0;
  }

因為I!=pre又錯了幾下。
以后debug盡量自己用眼睛看,更省時間!!!!!!!!!

posted on 2009-07-05 12:33 luis 閱讀(335) 評論(0)  編輯 收藏 引用 所屬分類: 搜索給我啟發題
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

文章分類

文章檔案

友情鏈接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99精品99| 欧美激情91| 性久久久久久久久| 国产亚洲激情视频在线| 久久精品动漫| 久久尤物视频| 99re热精品| 亚洲永久免费| 又紧又大又爽精品一区二区| 欧美黄色影院| 欧美视频免费| 久久久久看片| 欧美成人国产| 午夜精品理论片| 久久黄色影院| 夜夜嗨av一区二区三区四区| 亚洲女人小视频在线观看| 国语自产精品视频在线看一大j8| 亚洲精品一区二| 男人插女人欧美| 亚洲永久视频| 久久日韩精品| 午夜精品久久久久| 久久久久在线观看| 在线亚洲激情| 久久另类ts人妖一区二区| 亚洲美女免费视频| 小黄鸭精品aⅴ导航网站入口| 久久国产欧美日韩精品| 亚洲毛片在线免费观看| 亚洲女优在线| 一区二区激情视频| 久久免费视频在线观看| 夜夜精品视频一区二区| 性欧美暴力猛交69hd| 亚洲精品久久久久中文字幕欢迎你| 亚洲欧美日韩天堂一区二区| 久久综合亚洲社区| 午夜久久久久久| 欧美大片在线观看一区二区| 久久国产欧美| 欧美视频一区二区三区…| 欧美第十八页| 狠狠综合久久| 亚洲在线黄色| 亚洲午夜极品| 欧美另类在线播放| 欧美激情偷拍| 国内欧美视频一区二区| 亚洲一区久久久| 9国产精品视频| 欧美jjzz| 欧美国产三区| 亚洲国产91| 久久av一区二区三区| 小黄鸭精品aⅴ导航网站入口| 亚洲美女av电影| 亚洲国产欧美精品| 久久精品综合网| 久久精品五月| 国产主播一区二区三区| 欧美专区在线观看一区| 亚洲一区久久| 欧美三区在线观看| 一区二区三区精密机械公司| 中文国产成人精品| 欧美日韩视频不卡| 亚洲欧洲精品成人久久奇米网| 欧美成人自拍视频| 亚洲福利专区| 亚洲第一精品夜夜躁人人爽| 久久精品91久久香蕉加勒比| 久久久亚洲影院你懂的| 伊人一区二区三区久久精品| 久久一区二区三区四区| 欧美激情第三页| 99精品99久久久久久宅男| 欧美日韩国产不卡在线看| 99视频精品在线| 这里只有精品电影| 国产精品捆绑调教| 久久成人国产| 亚洲国内自拍| 亚洲欧美日韩精品久久奇米色影视| 久久国内精品视频| 欧美sm重口味系列视频在线观看| 欧美日韩你懂的| 亚洲一区视频在线| 牛牛国产精品| 亚洲一二三区在线| 国内久久婷婷综合| 欧美日韩另类一区| 久久国产88| 亚洲精品久久久久久久久久久久久 | 欧美韩日亚洲| 亚洲精品日韩在线观看| 欧美www视频| 欧美r片在线| 亚洲福利小视频| 亚洲激情一区二区三区| 亚洲自拍三区| 国产伦精品一区二区| 欧美亚洲免费在线| 久久久伊人欧美| 国产精品日韩精品| 欧美不卡激情三级在线观看| 欧美国产日韩xxxxx| 99成人精品| 欧美午夜片在线观看| 午夜在线a亚洲v天堂网2018| 亚洲一区在线观看免费观看电影高清| 久久精品一二三区| 欧美不卡视频一区发布| 亚洲毛片av| 国产精品av免费在线观看| 亚洲一区二区四区| 99国产精品久久久久老师| 黄色亚洲网站| 欧美成人日韩| 亚洲一区免费| 欧美国产日韩视频| 一区二区三区欧美视频| 亚洲高清视频一区二区| 欧美高清一区| 亚洲欧美日韩天堂| 欧美a级大片| 亚洲影院在线| 国产精品免费区二区三区观看| 久久夜色精品国产欧美乱| 国产精品v亚洲精品v日韩精品 | 美女免费视频一区| 亚洲精品偷拍| 欧美有码在线视频| 亚洲精品一二区| 国产女主播一区二区| 久久精品五月婷婷| 久久大香伊蕉在人线观看热2| 一二三区精品福利视频| 国产精品一区视频| 欧美激情在线| 欧美亚洲综合久久| 欧美 日韩 国产 一区| 久久久久国色av免费观看性色| 欧美四级在线观看| 久久人人97超碰国产公开结果| 久久精品国产亚洲一区二区三区| 欧美日本一区二区视频在线观看| 麻豆精品在线观看| 亚洲一区二区精品在线| 国产欧美日韩精品一区| 国产无遮挡一区二区三区毛片日本| 亚洲美女中文字幕| 久久久人人人| 欧美在线视频观看| 亚洲主播在线| 在线看欧美视频| 日韩视频第一页| 亚洲丰满少妇videoshd| 国产精品一区毛片| 国产精品第十页| 欧美成人精品在线| 欧美午夜精品久久久久久超碰| 亚洲精品女人| 久久久久国色av免费观看性色| 国产精品美女久久久久久2018| 亚洲人成在线免费观看| 亚洲福利视频专区| 久久久97精品| 亚洲国产精品一区二区三区| 麻豆久久精品| 老巨人导航500精品| 午夜视频在线观看一区二区| 99国产欧美久久久精品| 久久av老司机精品网站导航| 午夜久久黄色| 欧美诱惑福利视频| 久久久精彩视频| 亚洲精品中文字幕有码专区| 午夜精品久久久久久99热软件| 国产一区二区主播在线| 国产亚洲一区在线| 国模精品娜娜一二三区| 国产精品日韩精品欧美在线| 亚洲国产一区二区三区在线播| 久久综合久久综合久久| 久久视频国产精品免费视频在线| 久久精品水蜜桃av综合天堂| 久久精品日韩| 欧美国产日韩亚洲一区| 午夜精品福利在线| 久久久久久网| 欧美另类视频在线| 国产精品女主播| 欧美成人精品高清在线播放| 国产精品另类一区| 国产一区二区三区最好精华液| 久久久免费观看视频| 欧美高清你懂得| 国产精品稀缺呦系列在线| 欧美大片免费|