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

posts - 195,  comments - 30,  trackbacks - 0
I have my friends to visit. For some reason, I can only visit some of my friends. So I want see my friends as many as possible. Thus I must choose the longest way. Your goal is to help me developing a program that computes the length of the longest path that can be constructed in a given graph from a given starting point (My residence). You can assume that the graph has no cycles (there is no path from any node to itself), so I will reach my destination in a finite time. In the same line of reasoning, nodes are not considered directly connected to themselves.

Input

The input consists of a number of cases. The first line on each case contains a positive number n (1 < n <= 100) that specifies the number of points in the graph. A value of n = 0 indicates the end of the input. After this, a second number s is provided, indicating the starting point in my journey (1 <= s <= n). Then, you are given a list of pairs of places p and q, one pair per line. The pair "p q" indicates that I can visit q after p. A pair of zeros ("0 0") indicates the end of the case. As mentioned before, you can assume that the graphs provided will not be cyclic.

Output

For each test case you have to find the length of the longest path that begins at the starting place. You also have to print the number of the final place of such longest path. If there are several paths of maximum length, print the final place with smallest number.

Print a new line after each test case.

Sample Input

2
1
1 2
0 0
5
3
1 2
3 5
3 1
2 4
4 5
0 0
5
5
5 1
5 2
5 3
5 4
4 1
4 2
0 0
0

Sample Output

Case 1: The longest path from 1 has length 1, finishing at 2.
Case 2: The longest path from 3 has length 4, finishing at 5.
Case 3: The longest path from 5 has length 2, finishing at 1.
提交了10次,AC 3次,超時(shí)4次,wa 3次。
很無(wú)語(yǔ)。
應(yīng)該是動(dòng)態(tài)規(guī)劃最好,但是我不是很熟,用了搜索。以下是超時(shí)的代碼
#include<iostream>
#include<cstdlib>
using namespace std;
int path[101][101];
int mark[101];
int len[101];//
int end[101];
int dfs(int start,int num)//返回從當(dāng)前點(diǎn)出發(fā)的最大長(zhǎng)度
{
if(mark[start]==1)return len[start];
mark[start]=1;
end[start]=start;
for(int i=1;i<=num;i++)
{
if(path[start][i])
{
if(len[start]<dfs(i,num)+1)
{
len[start]=len[i]+1;
end[start]=end[i];
}
else
if(len[start]==len[i]+1&&end[start]>end[i])
end[start]=end[i];
}
}
mark[start]=0;//這句堅(jiān)決不需要 
return len[start];
}
int main()
{
// freopen("s.txt","r",stdin);
//freopen("key.txt","w",stdout);
int j,k,turn=0;
int start,num;
while(cin>>num)
{
turn++;
if(num==0)break;
memset(path,0,sizeof(path));
memset(mark,0,sizeof(mark));
memset(len,0,sizeof(len));
memset(end,0,sizeof(end));
cin>>start;
while(cin>>j>>k)
{
if(j==0)break;
path[j][k]=1;
}
cout<<"Case "<<turn<<": The longest path from "<<start<<" has length "<<dfs(start,num)<<", finishing at "<<end[start]<<"."<<endl<<endl;
}
//system("PAUSE");
return   0;
}
以下是ac的代碼
#include<iostream>
#include<cstdlib>
using namespace std;
int path[102][102];
int mark[102], len[102],end[102];
int dfs(int start,int num)//返回從當(dāng)前點(diǎn)出發(fā)的最大長(zhǎng)度
{
if(mark[start]==1)return len[start];
mark[start]=1;
end[start]=start;
len[start]=0;
int i,t;
for( i=1;i<=num;i++)
{
if(path[start][i])
{
t=dfs(i,num)+1;
if(t>len[start])
{
len[start]=t;
end[start]=end[i];
}
else
if(len[start]==t)
{
if(end[start]>end[i])
end[start]=end[i];
}
}
}
return len[start];
}
int main()
{
//freopen("s.txt","r",stdin);
//freopen("key.txt","w",stdout);
int j,k,turn=0;
int start,num;
while(cin>>num,num)
{
turn++;
memset(path,0,sizeof(path));
memset(mark,0,sizeof(mark));
memset(len,0,sizeof(len));
memset(end,0,sizeof(end));
cin>>start;
while(cin>>j>>k,j||k)
{
path[j][k]=1;
}
dfs(start,num);
cout<<"Case "<<turn<<": The longest path from "<<start<<" has length "<<len[start]<<", finishing at "<<end[start]<<"."<<endl<<endl;
}
//system("PAUSE");
return   0;
}
不妨執(zhí)行一下
5
3
1 2
3 5
3 1
2 4
4 5
0 0
先是len[3]=0;end[3]=3;flag[3]=1;
再執(zhí)行t=dfs(1)+1,
轉(zhuǎn)入dfs(1);len[1]=0;end[1]=1;flag[1]=1;
再執(zhí)行t=dfs(2)+1;
轉(zhuǎn)入dfs(2),len[2]=0;end[2]=2;flag[2]=1;
再執(zhí)行t=dfs(4)+1
轉(zhuǎn)入dfs(4),len[4]=0;end[4]=4;flag[4]=1;
再轉(zhuǎn)入t=dfs(5)+1;
轉(zhuǎn)入dfs(5),len[5]=0;end[5]=5;flag[5]=1;return(len[5]=0);
則t=1;t>len[4];len[4]=1;end[4]=end[5]=5;再看4沒(méi)了其他相鄰元素。dfs(4)=return(len[4])=1;
t=dfs(4)+1=2;len[2]=t=2;end[2]=end[4]=5;再看2沒(méi)了其他相鄰元素,dfs(2)=return(len(2)=2;
再看t=dfs(2)+1=3;len[1]=t=3;end[1]=en[2]=5;再看1有沒(méi)有其他相鄰元素,dfs(1)=return(len(1)=3
再執(zhí)行t=dfs(1)+1,len[3]=4;end[3]=end[1]=5;再看3有沒(méi)有其他相鄰元素,有dfs(5),已經(jīng)遍歷到了,所以dfs(5)return len【5】。
沒(méi)有影響。
假設(shè)改為
5 3 5 2 3 5 3 1 2 4 4 1 0 0 執(zhí)行時(shí)會(huì)走3->1>這時(shí)的1結(jié)點(diǎn)len[1]已經(jīng)求的 3>5>2>4>1len[1]已知了
posted on 2009-06-29 16:13 luis 閱讀(279) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 搜索給我啟發(fā)題
<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(3)

隨筆分類(lèi)

隨筆檔案

文章分類(lèi)

文章檔案

友情鏈接

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国精品一区二区| 久久久xxx| 欧美风情在线观看| 欧美国产激情二区三区| 亚洲国产精品v| 欧美成人tv| 久久久人成影片一区二区三区观看| 欧美精品久久久久久久免费观看 | 一区二区三区视频在线| 欧美精品粉嫩高潮一区二区| 日韩视频在线一区二区| 日韩亚洲欧美一区| 久久九九国产精品| 99在线|亚洲一区二区| 亚洲精品美女在线| 欧美啪啪成人vr| 亚洲免费在线看| 久久综合伊人77777| 亚洲精品欧美在线| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩国产在线| 亚洲美女福利视频网站| 亚洲性感激情| 尤物99国产成人精品视频| 欧美激情中文不卡| 欧美四级在线观看| 久久一综合视频| 欧美日本在线看| 免费久久99精品国产自| 夜夜爽av福利精品导航| 亚洲国产精品女人久久久| 欧美午夜不卡| 免费看亚洲片| 欧美三日本三级少妇三2023| 亚洲午夜视频在线观看| 久久久噜噜噜久噜久久| 亚洲精品一二| 午夜精品电影| 99综合电影在线视频| 欧美在线关看| 99re成人精品视频| 性做久久久久久免费观看欧美| 亚洲国产专区| 欧美有码视频| 国产精品对白刺激久久久| 免费观看一区| 国产精品综合不卡av| 久久蜜桃香蕉精品一区二区三区| 欧美日韩国产精品一区二区亚洲 | 欧美成人xxx| 久久国产精品久久精品国产| 欧美视频日韩| 亚洲激情视频在线播放| 激情国产一区| 香蕉久久夜色| 在线亚洲精品| 欧美日韩国产在线一区| 欧美电影资源| 影音先锋亚洲精品| 午夜一区二区三区不卡视频| 亚洲午夜一区二区三区| 欧美国产丝袜视频| 亚洲神马久久| 欧美午夜国产| 日韩一二三在线视频播| 亚洲免费精彩视频| 亚洲欧美韩国| 欧美在线观看网站| 欧美日韩免费区域视频在线观看| 欧美福利视频在线| 在线观看亚洲专区| 久久天堂成人| 欧美大片va欧美在线播放| 国产精品欧美风情| 欧美中文在线观看| 久久久久久久999| 国一区二区在线观看| 欧美在线观看一二区| 久久夜色精品| 亚洲国产成人久久| 久久精品亚洲乱码伦伦中文| 另类亚洲自拍| 国产精品久久久久国产a级| 亚洲综合清纯丝袜自拍| 午夜欧美大片免费观看| 国产美女精品一区二区三区| 香蕉成人伊视频在线观看| 久久久人成影片一区二区三区| 国产在线精品一区二区中文| 久久精品国产亚洲aⅴ| 开元免费观看欧美电视剧网站| 在线观看视频一区二区| 久久久久成人精品| 亚洲国产日韩在线| 欧美少妇一区| 久久精品国产99国产精品澳门 | 一区二区三区波多野结衣在线观看| 欧美色视频一区| 久久久之久亚州精品露出| 亚洲九九精品| 久久久青草婷婷精品综合日韩| 日韩午夜av在线| 国产一区二区三区在线观看精品 | 18成人免费观看视频| 欧美性猛交xxxx乱大交蜜桃| 久久成人18免费观看| 99re热精品| 亚洲第一黄网| 久久久噜噜噜久久| 亚洲欧美日韩一区| 亚洲激情欧美| 国内精品久久久久久久果冻传媒| 欧美区一区二区三区| 久久免费精品视频| 亚洲欧美不卡| 亚洲视频电影图片偷拍一区| 亚洲国产免费| 欧美1区2区视频| 久久久久成人精品| 久久激情综合网| 亚洲欧美日韩一区二区三区在线| 日韩视频精品在线| 亚洲激情视频在线观看| 国模吧视频一区| 国产日韩精品久久久| 国产精品网站视频| 欧美亚洲成人网| 欧美私人啪啪vps| 欧美日韩精品一区视频| 欧美另类视频在线| 欧美电影免费| 欧美激情综合五月色丁香| 美女图片一区二区| 麻豆精品国产91久久久久久| 久久久999精品| 久久精品一本| 久久露脸国产精品| 另类尿喷潮videofree | 久久久精品免费视频| 欧美伊人久久久久久久久影院| 亚洲一卡久久| 亚洲欧美欧美一区二区三区| 亚洲综合电影| 久久黄色网页| 六月婷婷久久| 欧美国产亚洲视频| 欧美日韩黄色大片| 国产精品成人观看视频免费 | 亚洲视频在线观看视频| 亚洲国产精品va在线看黑人| 欧美黄色网络| 亚洲日本欧美在线| 日韩亚洲欧美在线观看| 99精品视频免费全部在线| 日韩一区二区免费高清| 最新日韩精品| 亚洲国产精品久久久久秋霞影院 | 欧美激情一区二区三区在线| 欧美精品一区二区三区四区 | 性欧美xxxx大乳国产app| 久久av一区二区三区漫画| 久久一区二区精品| 欧美极品一区| 国产日韩精品入口| 红杏aⅴ成人免费视频| 日韩视频在线一区二区三区| 亚洲夜晚福利在线观看| 久久九九热免费视频| 亚洲黄色小视频| 一区二区国产日产| 欧美中文字幕在线| 欧美激情一区在线| 国产无一区二区| 亚洲精品小视频在线观看| 香蕉成人伊视频在线观看| 老司机久久99久久精品播放免费 | 性做久久久久久免费观看欧美| 久久久久国产一区二区| 亚洲第一区在线观看| 亚洲一本大道在线| 女主播福利一区| 国产农村妇女精品一区二区| 最新热久久免费视频| 久久精品国产久精国产爱| 亚洲激情影院| 久久九九99视频| 国产精品国色综合久久| 亚洲国产精品日韩| 欧美在线日韩精品| 一区二区三区久久精品| 免费人成网站在线观看欧美高清| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲精品欧美日韩| 老色鬼久久亚洲一区二区 | 久久久久久网址| 亚洲一区高清| 欧美日韩在线高清| 日韩午夜激情电影| 能在线观看的日韩av| 欧美在线在线|