#include #include "testlib.h" using namespace std; const int MAXN = 505; const int LIM = 1e6; std::vector G[MAXN]; std::unordered_set s; int vis[MAXN]; int n,m,k; inline void addedge(int u,int v) { G[u].push_back(v); G[v].push_back(u); } void dfs(int x) { vis[x]=1; for(int y : G[x]) if(!vis[x]) dfs(y); } int main(int argc, char *argv[]) { registerValidation(); n=inf.readInt(1,MAXN); inf.readSpace(); m=inf.readInt(1,MAXN); inf.readSpace(); k=inf.readInt(1,min(n,10)); inf.readEoln(); for(int i=1,u,v; i<=m; ++i) { u=inf.readInt(1,n); inf.readSpace(); v=inf.readInt(1,n); inf.readSpace(); inf.readInt(1,LIM); inf.readEoln(); addedge(u,v); } for(int i=1; i<=k; ++i) { s.insert(inf.readInt(1,n)); if(i!=k) inf.readSpace(); } inf.readEoln(); ensuref(((int)s.size()==k),"Repeated key nodes found!"); inf.readEof(); return 0; }