杰拉斯的博客
[ACM]简单动态规划——电路布线
杰拉斯 | 时间:2012-06-02, Sat | 20,198 views编程算法
电路布线
【问题描述】
在一块电路板的上、下两端分别有n个接线柱。根据电路设计,要求用导线(i,π(i))将上端接线柱i与下端接线柱π(i)相连,如图所示。
其中,π(i),1<=i<=n是{1,2,…,n}的一个排列。导线(i,π(i))称为该电路板上的第i条连线。对于任何1<=i π(j)。
在制作电路板时,要求将这n条连线分布到若干绝缘层上。在同一层上的连线不相交。你的任务是要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。换句话说,就是确定导线集Nets={ i,π(i),1<=i<=n}的最大不相交子集。
【输入形式】
输入文件第一行为整数n;第二行为用一个空格隔开的n个整数,表示π(i)。
【输出形式】
输出文件第一行为最多的连线数m,第2行到第m+1行输出这m条连线(i,π(i))。
[ACM]简单回溯——猜牌游戏
杰拉斯 | 时间:2012-06-02, Sat | 7,346 views编程算法
猜牌游戏
【问题描述】
猜牌游戏:桌上有分别写着1-100的100张牌,游戏者从100张牌子中抽出K张,把K(1<K<100)张牌对应的数字相乘得到一个结果S,然后把结果S告诉挑战者,让挑战者猜游戏者K张牌的可能组合。游戏者也可能报一个假的结果S给挑战者,也就是不存在K张牌相乘得到该结果,这时挑战者要辨别游戏者是否说谎。挑战者猜中则为赢,猜错就为输。
【输入形式】
从标准输入自然数S和自然数K。
【输出形式】
输出K张牌的所有方式(用空格隔开),每一种方式为一行,在每一行末均输出一个回车符。如果不存在K张牌相乘得到S的情况,则输出LIE。
小文字,大体验
杰拉斯 | 时间:2012-06-01, Fri | 10,673 views前端开发
随着ipad等移动终端的崛起,人们在移动终端阅读上的时间越来越多,阅读体验已经变得越来越重要。而字体又是决定阅读体验的关键所在,那么字体在哪些方面又是什么影响着阅读体验的成败?