摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=966对于k=0的情况。可以证明这样一个结论:对于任意x in [1, n*(n+1)/2],可以用1...n这n个数的若干个数的和构成。这样对与k>=0,题目就化为了求最小的 n 满足 n*(n+1)/2>= k,即min{n|n*(n+1)>=k},显然复杂度过得去。特别要注意题目要求每两个输出之间有一个空行。# include # include int ic 阅读全文
posted @ 2013-10-29 22:46 努力变瘦 阅读(206) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=189固定一个面,然后只有一个旋转轴:6*4 = 24种情况1. 固定1 2 6 5,共有:4*4 = 16中情况2. 固定3 4,有2*4 = 8种情况因为分了两种情况,所以要注意旋转的方向。特别要注意不同情况不要相交:判断每种情况前要初始化。WA了6次,无比纠结。// 20:14# include char buffer[15];char x[10];int r[][4] = { 阅读全文
posted @ 2013-10-29 21:22 努力变瘦 阅读(145) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=49二分答案。在计算mid^k时,可以加个优化:如果计算到某一次方时位数超过了p的位数,直接舍弃。刚发现 itoa 不是标准库的函数,有意思的是atoi atof……都是标准库函数。(为什么有atoi,却没有itoa)# include # include typedef long long int LL;int n;char p[105];char kn[205];int plen 阅读全文
posted @ 2013-10-29 17:11 努力变瘦 阅读(148) 评论(0) 推荐(0) 编辑