您的位置:首页 > 其它

1155. Can I Post the lette

2013-12-13 23:01 330 查看
// Problem#: 1155
// Submission#: 2547936
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/ // All Copyright reserved by Informatic Lab of Sun Yat-sen University
#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 source code