2013年8月21日
摘要: 题目链接。分析:普遍的做法是:先枚举两个点,通过数学公式得到另外2个点,使得这四个点能够成正方形。然后检查散点集中是否存在计算出来的那两个点,若存在,说明有一个正方形。但这种做法会使同一个正方形按照不同的顺序被枚举了四次,因此最后的结果要除以4.已知: (x1,y1) (x2,y2)则: x3=x1+(y1-y2) y3= y1-(x1-x2)x4=x2+(y1-y2) y4= y2-(x1-x2)或x3=x1-(y1-y2) y3= y1+(x1-x2)x4=x2-(y1-y2) y4= y2+(x1-x2)直接hash太麻烦,使用set简单些.AC代码如下:#include #includ 阅读全文
posted @ 2013-08-21 17:06 Still_Raining 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 题目链接。AC代码如下;#include #include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 1000+10;int main() { int T, n, cn; bool flag; char s1[maxn], s2[maxn], s3[maxn], s[maxn]; scanf("%d", &T); for(int kase=1; kase st; cn... 阅读全文
posted @ 2013-08-21 10:05 Still_Raining 阅读(212) 评论(0) 推荐(0) 编辑