您的位置:首页 > 其它

[sicily online]1155. Can I Post the lette(图的深度优先搜索)

2013-03-08 16:52 507 查看
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<fstream>
#include<stack>
#include<bitset>
using namespace std;

int main()
{
int n,m;
while(cin>>n&&n!=0)
{
cin>>m;
map<int,vector<int> > gra;
vector<bool> flag(n);
for(int i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
gra[x].push_back(y);
}//read edge
bool result=false;
flag[0]=true;
stack<int> st;
st.push(0);
while(!st.empty())//深度优先遍历
{
int top=st.top();
st.pop();
if(top==n-1)
{
result=true;
break;
}
for(int i=0;i<gra[top].size();i++)
{
if(flag[gra[top][i]]==true)
continue;
flag[gra[top][i]]=true;
st.push(gra[top][i]);
}
}
if(result)
cout<<"I can post the letter"<<endl;
else
cout<<"I can't post the letter"<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: