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

心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
調試了將近一個小時!我美好的一個夜晚啊!就這樣浪費了!
而不斷WA的原因竟然是因為輸出格式問題!最后一組數(shù)據(jù)后面多了一個回車!
再次抱怨ACM的多組數(shù)據(jù)測試!抱怨全文比較!抱怨不提示PE提示WA!
好了,STOP!
這題BFS求最短路即可。雖然可能有25000個單詞,相當于25000個結點,構圖的話空間肯定不夠,時間也不允許。但是因為單詞長度不同的肯定不會是doublet,所以平均下來一個圖的結點數(shù)大約25000/16個,O(n^2)的算法足夠了。
在讀入是就把不同長度的單詞分開,BFS讓字符串進隊列,只需要讓該字符串所在位置編號入隊即可。
以下是我的代碼:
#include<iostream>
#include
<fstream>
#include
<string>
#include
<bitset>
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#define maxl 17
#define maxn 25147
using namespace std;

typedef 
struct
{
    
long counter,front,rear,pos[maxn];
}queue;
void Clear(queue &q)
{
    q.counter
=0;q.front=0;q.rear=-1;
}
bool Empty(queue &q)
{
    
return (q.counter==0);
}
void Push(queue &q,long x)
{
    q.counter
++;
    q.rear
++;
    q.pos[q.rear]
=x;
}
void Pop(queue &q,long &x)
{
    q.counter
--;
    x
=q.pos[q.front];
    q.front
++;
}

long T=0,cnt[maxl];
string word[maxl][maxn];
queue q;

bool doublet(string &a,string &b)
{
    
long l=a.length(),diff=0;
    
for(long i=0;i<l;i++)
      
if(a[i]!=b[i])
      {
         diff
++;
         
if(diff>=2return false;
      }
    
if(!diff) return false;
    
return true;
}

int main()
{
    memset(cnt,
0,sizeof(cnt));
    
    
string t;
    
while(getline(cin,t)&&!t.empty())
    {
       cnt[t.length()]
++;
       word[t.length()][cnt[t.length()]]
=t;
    }
    
string a,b;
    
while(cin>>a>>b)
    {
       T
++;
       
long la=a.length(),pa,lb=b.length(),pb;
       
long d[maxn],f[maxn];
       
bool used[maxn];
       
       
if(la!=lb)
       {
          
if(T>=2) cout<<endl;
          cout
<<"No solution."<<endl;
          
continue;
       }
       
       
for(pa=1;pa<=cnt[la];pa++)
         
if(word[la][pa]==a)
           
break;
       
for(pb=1;pb<=cnt[la];pb++)
         
if(word[la][pb]==b)
           
break;
       
if(pa>cnt[la]||pb>cnt[la])
       {
          
if(T>=2) cout<<endl;
          cout
<<"No solution."<<endl;
          
continue;
       }
       
       memset(d,
-1,sizeof(d));
       memset(f,
0,sizeof(f));
       memset(used,
false,sizeof(used));
       Clear(q);
       Push(q,pa);d[pa]
=0;f[pa]=0;used[pa]=true;
       
while(!Empty(q))
       {
          
long r;
          Pop(q,r);
          
for(long i=1;i<=cnt[la];i++)
            
if(!used[i]&&doublet(word[la][r],word[la][i]))
            {
               Push(q,i);
               d[i]
=d[r]+1;
               f[i]
=r;
               used[i]
=true;
            }
          
if(d[pb]!=-1break;
       }
       
if(d[pb]==-1)
       {
          
if(T>=2) cout<<endl;
          cout
<<"No solution."<<endl;
       }
       
else
       {
          
if(T>=2) cout<<endl;
          
long num=0,ans[maxn];
          num
++;ans[num]=pb;
          
while(f[pb])
          {
             num
++;ans[num]=f[pb];
             pb
=f[pb];
          }
          
for(long i=num;i>=1;i--)
            cout
<<word[la][ans[i]]<<endl;
       }
    }
return 0;
}
posted on 2010-11-15 00:02 lee1r 閱讀(1180) 評論(3)  編輯 收藏 引用 所屬分類: 題目分類:圖論

FeedBack:
# re: UVa 10150 Doublets
2010-11-15 11:50 | Tanky Woo
為何感覺你每次題目的代碼都很長呢?是題目太難了嗎?

還以為你一直沒寫博客了,沒想到還在繼續(xù)寫。呵呵。  回復  更多評論
  
# re: UVa 10150 Doublets
2010-11-15 12:16 | Lee1R
@Tanky Woo
因為這題需要用隊列,隊列的函數(shù)都得寫。ACM當然可以直接#include<queue>,但是OI不允許這樣用啊,必須自己寫。而且ACM的題目很注重細節(jié),需要把各種可能的情況全都考慮。再者這道題不僅要求最優(yōu)值,還要求輸出最優(yōu)解,就必須記錄路徑……程序就長了。

還有5天就是NOIP2010了,我必須得準備啊~我確實很久沒有寫程序了。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线国产| 亚洲图片欧美一区| 麻豆乱码国产一区二区三区| 美女主播视频一区| 一区二区三区高清在线| 久久中文久久字幕| 欧美麻豆久久久久久中文| 国产日韩精品视频一区二区三区| 亚洲精品国产精品国自产在线| 久久er精品视频| 一本久道综合久久精品| 免费一级欧美片在线播放| 国产欧美日韩伦理| 午夜精品福利在线| 中文一区在线| 欧美日韩一区二区视频在线| 亚洲国产一区二区a毛片| 久久亚洲精品伦理| 欧美一级黄色录像| 国产欧美日韩一级| 午夜精品在线| 在线视频欧美日韩| 欧美日韩精品一二三区| 亚洲肉体裸体xxxx137| 美脚丝袜一区二区三区在线观看| 亚洲夜间福利| 国产精品午夜电影| 久久国产综合精品| 亚洲自拍偷拍一区| 国产日韩欧美亚洲一区| 欧美中文字幕视频| 欧美在线免费观看| 影音先锋亚洲视频| 欧美电影打屁股sp| 欧美成人免费在线观看| 亚洲精品免费网站| 一本久道久久综合婷婷鲸鱼| 欧美三日本三级三级在线播放| 亚洲调教视频在线观看| 中文亚洲字幕| 国语自产精品视频在线看一大j8| 美日韩精品视频免费看| 欧美多人爱爱视频网站| 一区二区高清视频| 亚洲免费中文| 韩国在线视频一区| 在线一区二区三区做爰视频网站 | 国产美女一区二区| 久久精品免费看| 久久天堂成人| 亚洲毛片网站| 亚洲无限av看| 含羞草久久爱69一区| 亚洲国产欧美不卡在线观看| 性欧美xxxx大乳国产app| 久久免费黄色| 欧美国产一区二区三区激情无套| 亚洲乱码国产乱码精品精可以看| 日韩午夜中文字幕| 国产伦精品一区二区三区四区免费 | 亚洲欧美电影在线观看| 欧美一区三区三区高中清蜜桃| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲高清毛片| 国产农村妇女精品一区二区| 欧美激情视频一区二区三区不卡| 欧美三级在线| 欧美成人午夜激情视频| 国产精品美女一区二区| 欧美国产日韩在线| 国产精品自拍三区| 欧美激情一区在线观看| 国产精品视频九色porn| 亚洲国产高清高潮精品美女| 国产精品自拍小视频| 亚洲欧洲另类| 一区二区三区在线视频免费观看| 在线亚洲自拍| 亚洲欧洲一二三| 性做久久久久久免费观看欧美| 亚洲免费av网站| 久久久人成影片一区二区三区 | 国产日韩欧美三级| 亚洲免费成人| 亚洲激情视频在线播放| 欧美影院成人| 欧美一区二区播放| 欧美日韩免费网站| 欧美激情综合色| 韩日欧美一区二区| 亚洲欧美综合国产精品一区| 在线亚洲欧美专区二区| 欧美另类亚洲| 欧美激情第1页| 亚洲电影欧美电影有声小说| 欧美影院午夜播放| 性色av一区二区三区| 欧美日韩一区精品| 亚洲美洲欧洲综合国产一区| 99riav久久精品riav| 欧美91精品| 欧美黑人一区二区三区| 在线免费观看日韩欧美| 久久成人亚洲| 欧美国产亚洲另类动漫| 亚洲国产精品女人久久久| 久久久久在线| 欧美国产日韩在线观看| 亚洲久久一区二区| 久久久人成影片一区二区三区观看| 国产亚洲精品aa| 香蕉尹人综合在线观看| 久久久精品2019中文字幕神马| 国产精品啊啊啊| 亚洲视频在线看| 久久精品91| 在线精品国产欧美| 欧美激情综合在线| 99这里只有精品| 先锋影院在线亚洲| 精品成人一区二区三区| 久久美女艺术照精彩视频福利播放| 久久免费国产| 亚洲精品视频在线| 国产精品高潮呻吟久久av无限| 亚洲免费婷婷| 蜜臀av一级做a爰片久久| 亚洲精品久久视频| 欧美色图首页| 亚欧成人在线| 免费成人高清视频| 亚洲欧洲日韩在线| 欧美午夜精品久久久久久久| 一区二区三区偷拍| 欧美成人按摩| 亚洲精品乱码久久久久久黑人 | 欧美日韩一区二区三区在线看| 日韩视频免费观看高清在线视频| 亚洲精品一区在线观看| 欧美国产激情| 性色av一区二区三区在线观看| 久久精品国产91精品亚洲| 国产亚洲欧美日韩日本| 久久久另类综合| 亚洲伦理精品| 另类亚洲自拍| 日韩天堂av| 国产精品久久久久77777| 亚洲已满18点击进入久久| 久久av在线| 亚洲小视频在线观看| 国产偷久久久精品专区| 久久躁日日躁aaaaxxxx| 亚洲人久久久| 久久狠狠婷婷| 亚洲一二三级电影| 国产曰批免费观看久久久| 欧美成人69| 亚洲自拍偷拍麻豆| 亚洲国产精品日韩| 蜜臀av国产精品久久久久| 亚洲美洲欧洲综合国产一区| 国产精品捆绑调教| 久久久精品999| 亚洲毛片在线看| 亚洲欧美一区二区三区在线| 激情综合网址| 国产精品极品美女粉嫩高清在线 | 国产精品网站在线| 欧美激情偷拍| 欧美一区在线直播| 亚洲午夜激情| 亚洲国产一区二区a毛片| 国产精品美女久久久久久久 | 亚洲国产精彩中文乱码av在线播放 | 欧美中文在线观看国产| 欧美韩日一区二区三区| 亚洲曰本av电影| 在线日韩精品视频| 国产亚洲综合在线| 欧美www视频| 一二三区精品| 欧美激情四色| 久久国产精品黑丝| 亚洲少妇最新在线视频| 亚洲精品久久7777| 亚洲成人资源网| 国产欧美精品| 国产精品日本精品| 欧美大片在线看免费观看| 亚洲欧美日本国产专区一区| 亚洲美女av电影| 欧美国产日韩xxxxx| 久久精品国产亚洲aⅴ| 久久九九有精品国产23| 先锋影音网一区二区| 在线视频你懂得一区二区三区| 最新日韩在线| 亚洲区中文字幕| 这里只有视频精品|