题目大意:
给一个整数n,然后是长度为n*(n+1)/2的字符串(仅由26个小写字母组成),这个字符串按三角矩阵依次排列(第一行有1个字母,第二行是3个……第n行有2*n-1个字母),然后判断在这个三角形中,是否存在等边的三角行,它的顶点上的字母都相同,如果存在,输出这个字母,否则输出“LOOOOOOOOSER!”。
模拟,很繁琐的模拟。
存坐标的时候,有点技巧,就是第 i 行的点的纵坐标是其横坐标 i 的 sqrt(3)/3 的整倍数,这样存点的好处是,可以直接用坐标计算两点间的距离,从而判断三角形是否等边。
存完坐标后,在所有出现次数大于等于3次的字母中遍历字符串,枚举每一种情况,就可以了。
这里需要考虑精度问题,还有就是字母输出字母的时候应该按照升序输出,并不是按照它们最先出现的顺序来的,这点困扰了我很久,TAT……