您的位置:首页 > 其它

sicily 1155. Can I Post the lette

2013-12-13 22:54 375 查看
#include<iostream>
#include <vector>
#include <queue>
#include <cstring>
using namespace std;

int N,M,a,b;
const int num=201;

bool visited[num];
vector<int>vec[num];
int main(){

while (cin>>N&&N!=0)
{
memset(visited,false,sizeof(visited));
// vec.clear(); //error cause we define a array of vec,it has "num" numbers of individual vector.
fill(vec,vec+N,vector<int>()); //from vec to vec+N set all values to instrutor:vector<int>()
queue<int>que;
cin>>M;
while (M--)
{
cin>>a>>b;
vec[a].push_back(b);
}
visited[0]=true;
que.push(0);

//BFS
while (!que.empty()){
int temp=que.front();
que.pop();
for(int i=0;i<vec[temp].size();i++){
int a=vec[temp][i];
if (!visited[a]){
que.push(a);
visited[a]=true;

}
}
}
//output
if (visited[N-1]==true)
cout<<"I can post the letter"<<endl;
else
cout<<"I can't post the letter"<<endl;
}
return 0;
}      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sicily