24 lines
590 B
TypeScript
24 lines
590 B
TypeScript
export {};
|
|
|
|
const input: string[] = require("fs").readFileSync(0, "utf8").toString().trim().split('\n')
|
|
let link = Array.from({length : Number(input[0])+1}, () => []);
|
|
let visited = new Array(Number(input[0])+1).fill(false);
|
|
input.slice(2).forEach(v => {
|
|
const [a,b] = v.split(" ").map(Number);
|
|
link[a].push(b);
|
|
link[b].push(a);
|
|
});
|
|
|
|
const dfs = (now: number) => {
|
|
visited[now] = true;
|
|
for(let nt of link[now]){
|
|
if(!visited[nt]){
|
|
dfs(nt);
|
|
}
|
|
}
|
|
}
|
|
|
|
dfs(1);
|
|
let count: number = 0;
|
|
visited.forEach((v)=>{if(v) count++;});
|
|
console.log(count-1); |