摘要:
将一个数拆分成若干个质数的乘积,没什么难度。我的代码中,需要计算x的y次方,之前用math.h中的pow(x,y)来计算,一直通不过,很奇怪。后来自己写了一个计算幂的函数,就过了。我感觉是数字类型不匹配。我的代码中用的几乎都是__int64类型,而pow函数返回的是double类型。#include <algorithm>#include <iostream>#include <cmath>using namespace std;const __int64 LEN = 5842;const __int64 MAX = 2000000000;int cmp(_ 阅读全文
posted @ 2012-08-10 20:05
peaceful
阅读(131)
评论(0)
推荐(0)
摘要:
以前做过类似的题目,所以很快就有思路了。首先判断marbles的总价值是否是偶数,如果不是的话,显然不能对半分。如果总价值是偶数,则变成背包问题,判断是否有marbles的组合的价值为总价值的一半。第一次试,循环的上下界设的比较宽,超时了。然后想了一下,觉得可以做一些限制,把这些限制加了以后,就过了。#include <iostream>using namespace std;const int MAX_MARBLE = 20005;int ans[MAX_MARBLE * 6];/* marbles可能达到的最大价值是MAX_MARBLE * 6 */void readMarbl 阅读全文
posted @ 2012-08-10 19:46
peaceful
阅读(168)
评论(0)
推荐(0)

浙公网安备 33010602011771号