//获得8个数的全排列,然后判断是否满足前四个正方形,后四个矩形,判断使用边长相等+一个直角即可

int px[10], py[10];

double dis(int a, int b) {
return (px[a] - px[b])*(px[a] - px[b])+(py[a] - py[b])*(py[a] - py[b]);
}

bool isRt(int a, int b, int c) {
return ((px[b] - px[a])*(px[c] - px[b])+(py[b] - py[a])*(py[c] - py[b]) == 0);
}

bool isSq(int a, int b, int c, int d) {
int l1 = dis(a, b);
int l2 = dis(b, c);
int l3 = dis(c, d);
int l4 = dis(a, d);
if (l1 == l2 && l2 == l3 && l3 == l4 && isRt(a, b, c))
return 1;
return 0;
}

bool isJu(int a, int b, int c, int d) {
int l1 = dis(a, b);
int l2 = dis(b, c);
int l3 = dis(c, d);
int l4 = dis(a, d);
if (l1 == l3 && l2 == l4 && isRt(a, b, c))
return 1;
return 0;
}

int main() {
for (int i = 1; i <= 8; ++i) {
scanf("%d%d", &px[i], &py[i]);
}
int sq[8] = {1, 2, 3, 4, 5, 6, 7, 8};
int flag = 0;

do {
if (isSq(sq[0], sq[1], sq[2], sq[3]) && isJu(sq[4], sq[5], sq[6], sq[7])) {
flag = 1;
printf("YES\n%d %d %d %d\n%d %d %d %d\n", sq[0], sq[1], sq[2], sq[3], sq[4], sq[5], sq[6], sq[7]);
break;
}

} while (next_permutation(sq, sq + 8));
if (!flag) {
puts("NO");
}
return 0;
}  


最近在学习python,知道了关于python代码风格PEB8,转载一篇中文介绍吧,写得蛮好的:

官方文档:http://www.python.org/dev/peps/pep-0008/

 

转载来源:http://www.blogjava.net/lincode/archive/2011/02/02/343859.html

1 变量 常量 : 大写加下划线

USER_CONSTANT
对于不会发生改变的全局变量,使用大写加下划线。 私有变量 : 小写和一个前导下划线
_private_value
Python 中不存在私有变量一说,若是遇到需要保护的变量,使用小写和一个前导下划线。但这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。但实际上,外部类还是可以访问到这个变量。

继续阅读→


看到一个google的大拿的《30 days challenge》

http://www.mattcutts.com/blog/type/30-days/

比较有代表性的是这一篇
很有趣,甚至包括write a novel这样的任务,而且看上去效果相当的好!
我以前(大一的时候)是有“季划”的,到最后90%实现不了,也就不了了之。
一个季度时间,对于我这样没有什么恒心的人来说,实在是长了一点。
一个月,是可以做大事的,蛮好。
我现在,还处于【胸无大志】状态。
一个月的时间,对我来说太长了!况且,一个月之后,就差不多开学了,我的美好寒假这这样没有了???
我舍不得去想一个月之后的事情。
鉴于寒假大部分时间都在自己掌控之下这样大好的形式,
我觉得周计划比较适合我
下面是我这个星期的计划:
0、看完半年前就买的刘若英新书《我们不完美》
1、看完《learning python第三版》
2、发3篇非白开水的博文(总结、心得)
ps:
1、时间点特殊,做不了大事,所以叫做7 days plans,而不是challenges
2、一周之后我会发新的7 days plans,并总这一周的工作
欢迎监督,共同进步!
我们好朋友们,也可搞起30 days challenges 啊!
就像今天我在另一篇文章中引用到:

“生活在如此刺激的年代,一定要去经历那些最刺激最有意义的东西,这样人生才会变得有意义! ”


我最常用的IDE是netbeans,c++,java,php都用它来写。
寒假开始学习python,所以也想用python完成
NetBeans 7.0 中默认的插件中心已经没有python插件了,不过可以手动来添加地址和安装。
方法:NetBeans界面,“工具”->“插件”, 点击“设置”->点击“添加”,然后 添加一个更新中心地址 ,名称可以任意,URL如下: http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz
因依赖关系,会自动加上Jython插件。

安装完毕可以使用jython,如果想使用cpython则在“工具”->python platfrom里面添加python安装目录里面的python.exe即可

我从官网下载了64位的python 2.7 ,然后把d:\python27 加入了path里面,这样可以在控制台里使用python了

附nb官网的python使用教程: http://netbeans.org/kb/69/python/temperature-converter_zh_CN.html