素颜(face.in/face.out)
引子:
如果再看你一眼
是否还会有感觉
最真实的喜怒哀乐全都埋葬在昨天
不掺任何的表演
轰轰烈烈那几年
我怀念 别怀念
怀念也回不到从前
背景:
WJMZBMR已经长大了,不由感觉物是人非,又听起了许嵩的素颜,感到很伤感,想起很久以前自己玩过的一个游戏。不由感觉“当年素面朝天要多纯洁就有多纯洁”
这个游戏是这样的,给你一个无穷大的棋盘,上面有一些黑棋子,WJMZBMR有无穷多的黑棋子。然后WJMZBMR如果看到三个黑棋子组成了一个两边平行于坐标轴的矩形的3个顶点,而第四个顶点上没有黑棋子,那么他就会在那个顶点上放一个黑棋子。一直到没有可以放的条件为止。
WJMZBMR想知道他能否无限放下去?如果不能,请输出棋盘上最后的棋子数量。
数学定义:
P.S 下面这段话可能比较繁琐,因为要有数学定义就写了,如果你已经看懂就忽略数学定义这一块吧T_T。。。
三个棋子(x1,y1),(x2,y2),(x3,y3)如果满足
x1,x2,x3三个数有两个是一样的,另一个不一样。
y1,y2,y3也是。
那么他们就是可以组成一个合法的平行与坐标轴矩形的3个顶点。
第四个顶点就可以放上一个棋子。
输入:
第一行N表示有N个黑棋子一开始就在棋盘上。
接下来N行,每行都表示一个棋子的坐标,其中X坐标在前,Y坐标在后。
输出:
一行,如果能无限放下去,输出-1
否则输出最后的棋子数(不保证范围)
样例输入:
3
0 0
0 1
1 0
样例输出: 4 数据范围: 对于40%的数据,N<=5000
对于100%的数据, N<=200000
x和y都在longint(Pascal)和int(C++)的范围
为什么不关闭评论
回复zbwmqlw:对哦。。