http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1504
题目大意:
按照上图方式用圆圈叠一个三角形,每个圆圈内有一个小写字母。
如果有至少一个字母相同的圆圈组成的等边三角形,则win。比如上图有由a和c构成的2个等边三角形。若这样的等边三角形不存在,则lose。
若win,打印所有能构成等边三角形的字母(按照a..z的顺序!),若lose,输出LOOOOOOOOSER!
解题思路:
n不是很大,一般都是枚举。
对同一个字母,例如a,枚举出3个不同的a圈,计算一下是不是等边的。
由于要计算等边,不防对每个圆圈赋予一个座标,如图可以看出横纵座标都是有关系的,可以以随便什么方式建立一个座标系。
例如:
为了避免使用浮点运算的时候的精度问题,所有座标都可以用整数来存储,因为判断等边的时候用边长的平方也是可以的。