Lang:Python2
Edit12345678910111213141516171819202122232425262728cnt = 0r = [-1] * 1000000def find(x):if r[x] == x:return xelse:r[x] = find(r[x])return r[x]def cmerge(a, b):ra, rb = find(a), find(b)if ra == rb:return Falser[ra] = rbreturn Truefor i in range(input()):x, y = map(int, raw_input().split())k = x * 1000 + yif r[k] == -1:r[k] = kcnt += 1for dx, dy in ((0,1),(0,-1),(1,0),(-1,0)):xx, yy = x + dx, y + dyif xx < 0 or xx >= 1000 or yy < 0 or yy >= 1000:continuekk = xx * 1000 + yyif r[kk] >= 0 and cmerge(k, kk):cnt -= 1print cnt