| 18498 | 2025-10-24 15:22:45 | Kristóf | Tom és Jerry 1 (80) | cpp17 | Compilation error |
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
vector<int> BFS(vector<vector<int>> &graph,int v)
{
vector<bool> visit(graph.size()+1,false);
vector<int> layer(graph.size()+1,-1);
queue<int> bfs;
layer[v]=0;
visit[v]=true;
bfs.push(v);
//int layercnt=0;
while(bfs.size()!=0)
{
//cout<<graph[v].size()<<endl;
v=bfs.front();
//layercnt++;
visit[v]=true;
for(auto x : graph[v])
{
//cout<<v<<" "<<x<<" "<<layercnt<<endl;
if(!visit[x])
{
layer[x]=layer[v]+1;
visit[x]=true;
bfs.push(x);
}
}
bfs.pop();
}
return layer;
}
vector<int> solve(vector<int> &tom,vector<vector<int>> &graph,int s,vector<bool> &visit,bool &p,int &e)
{
//visit[s]=true;
vector<int> jerry(graph.size());
queue<int> bfs;
jerry[s]=0;
bfs.push(s);
vector<int> hml(graph.size(),INT_MAX);
while(!bfs.empty())
{
int v=bfs.front();bfs.pop();
visit[v]=true;
for(int u : graph[v])
{
if(!visit[u])
{
bfs.push(u);
}
visit[u]=true;
//jerry[u]=jerry[v]+1;
if(hml[u]!=INT_MAX)
{
if(tom[u]==-1)
{
hml[u]=max(hml[u],hml[v]-1);
}
else hml[u]=max(hml[u],min(hml[v]-1,tom[u]-1));
continue;
}
if(tom[u]==-1)
{
hml[u]=hml[v]-1;
}
else hml[u]=min(hml[v]-1,tom[u]-1);
}
}
return hml;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie();
int n,m,t,jt,e;
cin>>n>>m>>t>>jt>>e;
vector<vector<int>>graphj(n+1);
vector<vector<int>>grapht(n+1);
int x,y,d;
for(int i=0;i<m;i++)
{
cin>>x>>y>>d;
graphj[x].push_back(y);
graphj[y].push_back(x);
if(d==2)
{
//cout<<x<<" "<<y<<endl;
grapht[x].push_back(y);
grapht[y].push_back(x);
}
}
vector<int> ans=BFS(grapht,t);
vector<bool> visit(n+1,false);
bool p=false;
vector<int> help=solve(ans,graphj,e,visit,p,e);
while(jt--)
{
cin>>x;
//vector<int> jerry=BFS(graphj,x);
cout<<help[x]<<" ";
if((help[x]>-1 )|| x==e)
{
cout<<"IGEN"<<"\n";
}
else cout<<"NEM"<<"\n";
}
return 0;
}
open /var/local/lib/isolate/442/box/a.out: no such file or directory
main.cpp: In function 'std::vector<int> solve(std::vector<int>&, std::vector<std::vector<int> >&, int, std::vector<bool>&, bool&, int&)':
main.cpp:50:30: error: 'INT_MAX' was not declared in this scope
50 | vector<int> hml(graph.size(),INT_MAX);
| ^~~~~~~
main.cpp:4:1: note: 'INT_MAX' is defined in header '<climits>'; did you forget to '#include <climits>'?
3 | #include <queue>
+++ |+#include <climits>
4 |