午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 在SQL Server中實現最短路徑搜索的解決方法

在SQL Server中實現最短路徑搜索的解決方法

熱門標簽:浙江穩定外呼系統供應商 美團地圖標注商戶認證注冊 電銷外呼系統軟件功能 承德地圖標注公司名需要花錢嗎 北京400電話辦理多少錢 榕城市地圖標注 慶陽地圖標注 咸陽電腦外呼系統運營商 怎么給高德做地圖標注

開始

這是去年的問題了,今天在整理郵件的時候才發現這個問題,感覺頂有意思的,特記錄下來。

在表RelationGraph中,有三個字段(ID,Node,RelatedNode),其中Node和RelatedNode兩個字段描述兩個節點的連接關系;現在要求,找出從節點"p"至節點"j",最短路徑(即經過的節點最少)。

圖1.

解析:

了能夠更好的描述表RelationGraph中字段Node和 RelatedNode的關系,我在這里特意使用一個圖形來描述,
如圖2.

圖2.

在圖2,可清晰的看出各個節點直接如何相連,也可以清楚的看出節點"p"至節點"j"的的幾種可能路徑。

從上面可以看出第2種可能路徑,經過的節點最少。

為了解決開始的問題,我參考了兩種方法,

第1方法是,

參考單源最短路徑算法:Dijkstra(迪杰斯特拉)算法,主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。


圖3.

第2方法是,

針對第1種方法的改進,就是采用多源點方法,這里就是以節點"p"和節點"j"為中心向外層擴展,直到兩圓外切點,如圖4. :

圖4.

實現:

在接下來,我就描述在SQL Server中,如何實現。當然我這里采用的前面說的第2種方法,以"P"和"J"為始點像中心外層層擴展。

這里提供有表RelactionGraph的create Insert數據的腳本:

復制代碼 代碼如下:

use TestDB    

go

if object_id('RelactionGraph') Is not null drop table RelactionGraph

create table RelactionGraph(ID int identity,Item nvarchar(50),RelactionItem nvarchar(20),constraint PK_RelactionGraph primary key(ID))

go

create nonclustered index IX_RelactionGraph_Item on RelactionGraph(Item) include(RelactionItem)

create nonclustered index IX_RelactionGraph_RelactionItem on RelactionGraph(RelactionItem) include(Item)

go

insert into RelactionGraph (Item, RelactionItem ) values

    ('a','b'),('a','c'),('a','d'),('a','e'),

    ('b','f'),('b','g'),('b','h'),

    ('c','i'),('c','j'),

    ('f','k'),('f','l'),

    ('k','o'),('k','p'),

    ('o','i'),('o','l')

go


編寫一個存儲過程up_GetPath
復制代碼 代碼如下:

use TestDB
go
--Procedure:
if object_id('up_GetPath') Is not null
    Drop proc up_GetPath
go
create proc up_GetPath
(
    @Node nvarchar(50),
    @RelatedNode nvarchar(50)
)
As
set nocount on

declare
    @level smallint =1, --當前搜索的深度
    @MaxLevel smallint=100, --最大可搜索深度
    @Node_WhileFlag bit=1, --以@Node作為中心進行搜索時候,作為能否循環搜索的標記
    @RelatedNode_WhileFlag bit=1 --以@RelatedNode作為中心進行搜索時候,作為能否循環搜索的標記

--如果直接找到兩個Node存在直接關系就直接返回
if Exists(select 1 from RelationGraph where (Node=@Node And RelatedNode=@RelatedNode) or (Node=@RelatedNode And RelatedNode=@Node) ) or @Node=@RelatedNode
begin
    select convert(nvarchar(2000),@Node + ' --> '+ @RelatedNode) As RelationGraphPath,convert(smallint,0) As StopCount
    return
end

--

if object_id('tempdb..#1') Is not null Drop Table #1 --臨時表#1,存儲的是以@Node作為中心向外擴展的各節點數據
if object_id('tempdb..#2') Is not null Drop Table #2 --臨時表#2,存儲的是以@RelatedNode作為中心向外擴展的各節點數據

create table #1(
    Node nvarchar(50),--相對源點
    RelatedNode nvarchar(50), --相對目標
    Level smallint --深度
    )

create table #2(Node nvarchar(50),RelatedNode nvarchar(50),Level smallint)

insert into #1 ( Node, RelatedNode, Level )
    select Node, RelatedNode, @level from RelationGraph a where a.Node =@Node union --正向:以@Node作為源查詢
    select RelatedNode, Node, @level from RelationGraph a where a.RelatedNode = @Node --反向:以@Node作為目標進行查詢
set @Node_WhileFlag=sign(@@rowcount)

insert into #2 ( Node, RelatedNode, Level )
    select Node, RelatedNode, @level from RelationGraph a where a.Node =@RelatedNode union --正向:以@RelatedNode作為源查詢
    select RelatedNode, Node, @level from RelationGraph a where a.RelatedNode = @RelatedNode --反向:以@RelatedNode作為目標進行查詢
set @RelatedNode_WhileFlag=sign(@@rowcount)

--如果在表RelationGraph中找不到@Node 或 @RelatedNode 數據,就直接跳過后面的While過程
if not exists(select 1 from #1) or not exists(select 1 from #2)
begin
    goto While_Out
end

 
while not exists(select 1 from #1 a inner join #2 b on b.RelatedNode=a.RelatedNode) --判斷是否出現切點
     and (@Node_WhileFlag|@RelatedNode_WhileFlag)>0 --判斷是否能搜索
     And @level@MaxLevel --控制深度
begin
    if @Node_WhileFlag >0
    begin    
        insert into #1 ( Node, RelatedNode, Level )
            --正向
            select a.Node,a.RelatedNode,@level+1
                From RelationGraph a
                where exists(select 1 from #1 where RelatedNode=a.Node And Level=@level) And
                    Not exists(select 1 from #1 where Node=a.Node)            
            union
            --反向
            select a.RelatedNode,a.Node,@level+1
                From RelationGraph a
                where exists(select 1 from #1 where RelatedNode=a.RelatedNode And Level=@level) And
                    Not exists(select 1 from #1 where Node=a.RelatedNode)

        set @Node_WhileFlag=sign(@@rowcount)

    end

    
    if @RelatedNode_WhileFlag >0
    begin        
        insert into #2 ( Node, RelatedNode, Level )
            --正向
            select a.Node,a.RelatedNode,@level+1
                From RelationGraph a
                where exists(select 1 from #2 where RelatedNode=a.Node And Level=@level) And
                    Not exists(select 1 from #2 where Node=a.Node)
            union
            --反向
            select a.RelatedNode,a.Node,@level+1
                From RelationGraph a
                where exists(select 1 from #2 where RelatedNode=a.RelatedNode And Level=@level) And
                    Not exists(select 1 from #2 where Node=a.RelatedNode)
        set @RelatedNode_WhileFlag=sign(@@rowcount)
    end

    select @level+=1
end

While_Out:

--下面是構造返回的結果路徑
if object_id('tempdb..#Path1') Is not null Drop Table #Path1
if object_id('tempdb..#Path2') Is not null Drop Table #Path2

;with cte_path1 As
(
select a.Node,a.RelatedNode,Level,convert(nvarchar(2000),a.Node+' -> '+a.RelatedNode) As RelationGraphPath,Convert(smallint,1) As PathLevel From #1 a where exists(select 1 from #2 where RelatedNode=a.RelatedNode)
union all
select b.Node,a.RelatedNode,b.Level,convert(nvarchar(2000),b.Node+' -> '+a.RelationGraphPath) As RelationGraphPath ,Convert(smallint,a.PathLevel+1) As PathLevel
    from cte_path1 a
        inner join #1 b on b.RelatedNode=a.Node
            and b.Level=a.Level-1
)
select * Into #Path1 from cte_path1

;with cte_path2 As
(
select a.Node,a.RelatedNode,Level,convert(nvarchar(2000),a.Node) As RelationGraphPath,Convert(smallint,1) As PathLevel From #2 a where exists(select 1 from #1 where RelatedNode=a.RelatedNode)
union all
select b.Node,a.RelatedNode,b.Level,convert(nvarchar(2000),a.RelationGraphPath+' -> '+b.Node) As RelationGraphPath ,Convert(smallint,a.PathLevel+1)
    from cte_path2 a
        inner join #2 b on b.RelatedNode=a.Node
            and b.Level=a.Level-1
)
select * Into #Path2 from cte_path2

;with cte_result As
(
select a.RelationGraphPath+' -> '+b.RelationGraphPath As RelationGraphPath,a.PathLevel+b.PathLevel -1 As StopCount,rank() over(order by a.PathLevel+b.PathLevel) As Result_row
    From #Path1 a
        inner join #Path2 b on b.RelatedNode=a.RelatedNode
            and b.Level=1
    where a.Level=1
)    
select distinct RelationGraphPath,StopCount From cte_result where Result_row=1
go

上面的存儲過程,主要分為兩大部分,第1部分是實現如何搜索,第2部分實現如何構造返回結果。其中第1部分的代碼根據前面的方法2,通過@Node 和 @RelatedNode 兩個節點向外層搜索,每次搜索返回的節點都保存至臨時表#1和#2,再判斷臨時表#1和#2有沒有出現切點,如果出現就說明已找到最短的路徑(經過多節點數最少),否則就繼續循環搜索,直到循環至最大的搜索深度(@MaxLevel smallint=100)或找到切點。要是到100層都沒搜索到切點,將放棄搜索。這里使用最大可搜索深度@MaxLevel,目的是控制由于數據量大可能會導致性能差,因為在這里數據量與搜索性能成反比。代碼中還說到一個正向和反向搜索,主要是相對Node 和 RelatedNode來說,它們兩者互為參照對象,進行向外搜索使用。

下面是存儲過程的執行:

復制代碼 代碼如下:

use TestDB

go

exec dbo.up_GetPath

        @Node = 'p',

@RelatedNode = 'j'

go

你可以根據需要來,賦予@Node 和 @RelatedNode不同的值。

拓展:

前面的例子,可擴展至城市的公交路線,提供兩個站點,搜索經過這兩個站點最少站點公交路線;可以擴展至社區的人際關系的搜索,如一個人與另一個人想認識,那么他們直接要經過多少個人才可以。除了人與人直接有直接的朋友、親戚關聯,還可以通過人與物有關聯找到人與人關聯,如幾個作家通過出版一個本,那么就說明這幾個人可以通過某一本書的作者列表中找到他們存在共同出版書籍的關聯,這為搜索兩個人認識路徑提供參考。這問題可能會非常大復雜,但可以這樣的擴展。

小結:

這里只是找兩個節點的所有路徑中,節點數最少的路徑,在實際的應用中,可能會碰到比這里更復雜的情況。在其他的環境或場景可能會帶有長度,時間,多節點,多作用域等一些信息。無論如何,一般都要參考一些原理,算法來實現。

您可能感興趣的文章:
  • SQLServer地址搜索性能優化
  • 在SQL Server 2005所有表中搜索某個指定列的方法
  • sqlserver中在指定數據庫的所有表的所有列中搜索給定的值
  • SQL Server 全文搜索功能介紹

標簽:貴州 昭通 重慶 上海 新鄉 拉薩 呼和浩特 江蘇

巨人網絡通訊聲明:本文標題《在SQL Server中實現最短路徑搜索的解決方法》,本文關鍵詞  在,SQL,Server,中,實現,最短,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在SQL Server中實現最短路徑搜索的解決方法》相關的同類信息!
  • 本頁收集關于在SQL Server中實現最短路徑搜索的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    老牛影视一区二区三区| 国产口爆吞精一区二区| 九色91在线视频| 久久精品最新地址| 777久久久精品| 欧美色综合网站| 亚洲欧美自拍偷拍| 日韩美女一区二区三区| 在线播放精品一区二区三区| 国产精品爱啪在线线免费观看| 欧美午夜欧美| 麻豆映画在线观看| 青青青青草视频| 欧美亚洲国产成人| 在线看免费毛片| 亚洲AV无码国产精品| 噜噜噜在线视频| 婷婷中文字幕在线观看| 欧美精品久久久久久久久25p| 亚洲国产午夜伦理片大全在线观看网站 | 亚洲色成人www永久网站| www.五月婷婷.com| 波多野结衣电影在线播放| 精品人妻一区二区三区潮喷在线 | 日本中文一区二区三区| 欧美人与禽zoz0善交| 黄色www网站| 欧美三级视频在线| 国产乱人伦精品一区二区在线观看 | 欧美亚洲禁片免费| 成人精品免费视频| 午夜视频网站在线观看| 中国特级黄色片| 午夜精品视频在线观看一区二区| 色中色综合影院手机版在线观看| 日韩欧美亚洲一二三区| 国产成人免费网站| 中文字幕在线观看国产| 国产在线观看无码免费视频| 男人的天堂视频在线| 国产精品久久久av| 亚洲美女又黄又爽在线观看| 亚洲综合一二区| 另类中文字幕网| 欧美一区二区三区不卡视频| 久久性爱视频网站| 亚洲区成人777777精品| 国产精品亚洲自拍| 国产亚洲精品综合一区91| 性感美女久久精品| 成人高清免费观看| av老司机久久| 免费黄色国产视频| 性猛交ⅹ×××乱大交| 日本公妇乱淫免费视频一区三区| 欧美一级bbbbb性bbbb喷潮片| 精品欧美久久久| 亚洲国产综合色| 成人av网站在线观看| 精品国产av一区二区| av最新在线观看| 亚洲美女性囗交| 亚洲制服中文| 亚洲影视中文字幕| 九九久久国产精品| 精品少妇一区二区三区视频免付费 | 久久久久久九九九九| 国语自产在线不卡| 日韩精品在线免费播放| 色综合久久综合中文综合网| 久久久久综合网| 日本sm残虐另类| 午夜一区二区三区四区| 女教师淫辱の教室蜜臀av软件| 国产成人黄色网址| 中国一级黄色录像| 成人在线视频电影| 青草成人免费视频| 色偷偷88888欧美精品久久久| 欧美久久久久中文字幕| 亚洲一区二区在线免费观看视频| av在线不卡电影| 日韩av一区二| jlzzjlzz亚洲女人18| 久一视频在线观看| 国产精品一二三区在线观看| 15—17女人毛片| 欧美大黑帍在线播放| 国产嫩草一区二区三区在线观看| 欧洲成人在线观看| 俺去了亚洲欧美日韩| 精品国产伦一区二区三区免费 | 综合激情成人伊人| 成人国产精品免费观看动漫| 日韩电影免费一区| 国产高清第一页| 久久精品无码av| 91杏吧porn蝌蚪| 国产精品300页| 污网站在线免费| 久久久久久久久久久久久国产精品| 一区二区精品在线| 久久青青草综合| 亚洲r级在线观看| 热re99久久精品国产66热| 粗暴蹂躏中文一区二区三区| 亚洲九九九在线观看| 欧美一卡二卡三卡| 精品视频在线看| 欧美视频在线免费看| 一区二区三区精品在线观看| 久久久精品tv| www.一区二区| 高潮精品一区videoshd| 黄色日韩网站视频| 免费高清不卡av| 天堂av在线一区| 天堂中文字幕av| 亚洲精品综合网| 精品国产无码一区二区| 99re只有精品| 国产三级按摩推拿按摩| 中文字幕av资源| 成人h动漫精品一区二区下载| 免费毛片一区二区三区| 午夜少妇久久久久久久久| 国产无遮挡在线观看| 女人十八毛片嫩草av| 在线观看国产精品一区| 亚洲色成人网站www永久四虎| 国产精品无码毛片| 欧美老熟妇乱大交xxxxx| 极品白嫩丰满美女无套| 欧美亚一区二区三区| 双性尿奴穿贞c带憋尿| 精品中文字幕在线播放| 久久久久亚洲无码| 中文乱码人妻一区二区三区视频| 一区二区三区中文在线观看| 九九九久久久久久| 日本黄色的视频| 丰满白嫩尤物一区二区| 国产在线视频一区| 色哟哟网站在线观看| 久久se这里有精品| 1769国内精品视频在线播放| 日本一级一片免费视频| 91精品久久久久久久久久久久久| 91一区二区三区在线播放| 999香蕉视频| 亚洲精品视频在线| 性生活在线视频| 在线综合视频播放| 中出视频在线观看| 中文字幕乱码久久午夜不卡 | 一二三四区精品视频| av免费中文字幕| 一卡二卡三卡在线观看| 日韩欧美国产电影| 天天av天天操| 欧美mv日韩mv亚洲| 久久久精品国产sm调教| 欧美日韩精品系列| mm131亚洲精品| 亚洲另类中文字| 91麻豆精品秘密入口| 深夜福利影院在线观看| 久久躁狠狠躁夜夜爽| 一区二区视频播放| 日韩亚洲欧美一区二区| 欧美网站大全在线观看| 波多野结衣一区二区三区在线| 久久99精品久久久久久青青日本| 国产精品色哟哟| 国产三级av在线播放| 欧美精品九九久久| 波多野结衣视频在线观看| 国产亚洲欧美aaaa| 久久久国产精品黄毛片| 亚洲精品久久久久久下一站| 99久久99久久精品免费看小说.| 欧美日韩一区高清| 国产黄色特级片| 亚洲激情欧美激情| 亚洲av无码一区东京热久久| 欧美黑人xxx| 国产精品亚洲а∨天堂免在线| 国内一区二区三区在线视频| 久久99国产精品尤物| 国产高清www| 欧美aaaaa成人免费观看视频| 亚洲字幕在线观看| 国产成a人无v码亚洲福利| 欧美亚洲成人精品| 国产在视频线精品视频| 疯狂做受xxxx欧美肥白少妇| 国内一区二区三区在线视频| 在线观看色网站| 亚洲国产精彩中文乱码av| 一道本在线免费视频| 一区二区中文字幕在线| 国产综合色一区二区三区| www.com亚洲| 亚洲欧美制服第一页| 国产探花在线播放| 国产精品999| 亚洲免费在线视频| 69xxxx国产| 亚洲小说欧美另类激情| 久久亚洲精品网站| 国产欧美一区二区精品久导航 | 中文字幕在线播放av| 欧美成人亚洲成人| 99在线无码精品入口| 国产伦精品一区二区三| 国产福利一区在线观看| 国产精品一区二区三区观看| 成人手机在线视频| 熟女人妻在线视频| 久久99导航| 色就色 综合激情| 最新一区二区三区| 久久久国产精品亚洲一区| 日本网站在线观看一区二区三区| 久久久综合免费视频| 亚洲av综合色区无码一二三区| 免费成人av网站| 亚洲国产中文字幕| 手机在线观看免费av| 中文字幕第九页| 国产一区自拍视频| 亚洲精品一区中文字幕乱码| 91视频在线观看免费| 无码人妻精品中文字幕| 激情小说网站亚洲综合网| 国产精品三级av| 久久久91视频| 国产日本欧美一区二区三区| 一区二区三区欧美在线观看| 大乳护士喂奶hd| 奇米影视亚洲狠狠色| 亚洲av无码乱码在线观看性色| 精品91免费| 一区二区三区在线视频观看58| 久久中文字幕无码| 在线观看免费黄色片| 俺去亚洲欧洲欧美日韩| 另类欧美日韩国产在线| 久久精品国产露脸对白| 77777少妇光屁股久久一区| 久久久久精彩视频| 精选一区二区三区四区五区| 欧美日韩激情视频8区| 中文字幕第99页| 不许穿内裤随时挨c调教h苏绵| 亚洲狠狠婷婷综合久久久| 97久久精品人搡人人玩| 91精品国产欧美一区二区成人| 日本一区二区三区视频视频| 国产又粗又长又大视频| 国产精品成人99一区无码| 5566日本婷婷色中文字幕97| 国产精品网站在线| 91插插插插插插| 国产精品免费一区二区三区观看| 欧美日韩国产精品专区| 日本免费在线播放| 三年中国中文在线观看免费播放| 狠狠躁夜夜躁人人躁婷婷91| 国产馆在线观看| 精品久久久久久综合日本| 亚洲欧洲中文天堂| 午夜精品久久久久影视| 亚洲av电影一区| av网站在线不卡| 欧美高清性猛交| 亚洲妇女屁股眼交7| 日本aaa视频| 91精品国产自产在线| 欧美伊人精品成人久久综合97| 国产呦萝稀缺另类资源| 国产99999| 久久中文字幕无码| 青花影视在线观看免费高清| 国产精品熟女一区二区不卡| 久久精品无码中文字幕| 91免费国产网站| 久久色在线播放| 欧美日韩亚洲一区二区| 精品人妻av一区二区三区| 免费看日本黄色片| 国产精品第七影院| 日韩大片在线观看视频| 91一区二区在线观看| 欧美高清视频一区二区三区| 一本二本三本亚洲码| 亚洲美女av电影| 国产风韵犹存在线视精品| 亚洲国产天堂av| 中文字幕12页| 国产欧美日韩网站| 成人激情在线播放| 欧美视频三区在线播放| 国产999精品久久久久久| 精品人妻无码一区二区性色| 又大又长粗又爽又黄少妇视频| 久久综合伊人77777尤物| 97久久精品人人澡人人爽| 国产情侣免费视频| 国产性xxxx18免费观看视频| 欧美一级大片在线观看| 欧美大片第1页| 欧美丰满少妇xxxx| 这里只有精品久久| 亚洲第一免费播放区| 日韩午夜三级在线| 亚洲一区二区影院| 日韩毛片高清在线播放| 久久99国产精品成人| 青草影院在线观看| 五月婷婷之婷婷| 亚洲精品免费一区二区三区| 精品av久久707| 亚洲欧美综合另类在线卡通| 国产哺乳奶水91在线播放| 精品少妇一区二区三区免费观| 久久国产精品 国产精品| 伊人一区二区三区久久精品| 亚洲另类在线制服丝袜| 国产清纯在线一区二区www| 国产夜色精品一区二区av| 国产精品羞羞答答xxdd| 亚洲无码久久久久久久| 亚洲码无人客一区二区三区| 中文 日韩 欧美| 中文精品一区二区三区| 日韩麻豆第一页| 色婷婷av一区二区三区软件| 亚洲欧美在线另类| 处破女av一区二区| 国产精品久久久久久久浪潮网站| 亚洲色图欧美激情| 午夜精品影院在线观看| 在线精品视频免费播放| 精品区一区二区| 精品国产乱码久久| 欧美精品一区二区久久久| 亚洲人成在线一二| 亚洲欧美国产另类| 欧美日韩亚洲国产综合| 日韩欧美国产网站| 不卡视频在线看| 成人午夜电影久久影院| 国产三级自拍视频| 日韩三级一区二区| 国产一级大片在线观看| 一级特黄曰皮片视频| 玩弄中年熟妇正在播放| 国产一区二区三区四区五区在线 | 国产精品久久久久av免费| 欧美亚洲国产成人精品| 最新69国产成人精品视频免费| 亚洲成年人影院在线| 欧美一个色资源| 日韩欧美国产三级电影视频| 色激情天天射综合网| 久久99精品国产麻豆不卡| 欧洲精品久久一区二区| 国产成人精品av在线观| 四虎精品永久在线| 国产 欧美 自拍| 国产精品综合在线视频| 中文字幕av资源一区| 欧美亚洲丝袜传媒另类| 亚洲系列中文字幕| 日本一区二区不卡| 懂色一区二区三区av片| 国产精品一二三在线观看| 成人免费无码av| 亚洲天堂av一区二区三区| 91精品91久久久中77777老牛| 久久久久久久片| 亚洲色欲久久久综合网东京热| 大陆av在线播放| 蜜臀精品一区二区| 99热在线这里只有精品| 国产黄色激情视频| 91香蕉视频污版| 黄色激情在线视频| 波多野结衣50连登视频| 国产福利视频在线播放| 成人在线免费观看av| 亚洲一区和二区| 国产女同在线观看| 艳母动漫在线看| 久久99精品国产91久久来源| 久久久久国产精品午夜一区| 污视频软件在线观看| 午夜视频福利在线| 成人av网址在线| 久久亚洲一级片| 国产一区二区在线看| 国产成人免费在线| 中文字幕一区二区三区精华液| 亚洲一区二区三区小说| 一本到三区不卡视频| 久久国产精品久久精品| 日本高清一区| 深夜福利网站在线观看| 老熟妇一区二区三区|