Skip to content

Instantly share code, notes, and snippets.

@tyage
Created December 19, 2010 03:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tyage/747067 to your computer and use it in GitHub Desktop.
Save tyage/747067 to your computer and use it in GitHub Desktop.
var fs = require('fs'),
sys = require('sys');
Array.prototype.unique = function () {
var o = {},
r = [];
for (var i = 0;i < this.length;i++)
if (this[i] in o? false: o[this[i]] = true)
r.push(this[i]);
return r;
}
var result = function (file) {
var c = [],
r = [],
add = function (id) {
r = r.concat(c[id] || [])
}
fs.readFile(file, "utf-8", function (err, data) {
data = data.split('\n').slice(2).forEach(function (val, i) {
var f = val.split(" ")
if (c[f[0]]) {
c[f[0]].push(f[1])
} else {
c[f[0]] = [f[1]]
}
if (c[f[1]]) {
c[f[1]].push(f[0])
} else {
c[f[1]] = [f[0]]
}
})
add(1);
(c[1] || []).forEach(function (val, i) {
add(val)
})
fs.writeFile(file, (r.unique().length + (1 in r ? -1 : 0))+'');
});
}
result('1.txt')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment