摘要:
直接的大数相乘问题,无话可说。 #include#include using namespace std;#define DEEP 1000000000void mul(__int64* s,int a){ int assist=0; for(int j=1;j0) { ... 阅读全文
2011年10月10日
摘要:
典型的母函数题目,所以无话可讲。直接套用公式求解即可。 //#include #include using namespace std;int main(){ //fstream cin("Ignatius and the Princess III.txt"); unsigne... 阅读全文
摘要:
如果知道STL函数库中的next_permutation函数,此题丝毫没有难度。然后可以反复调用此函数即可。我在此基础上做了优化。因为第N!th的序列都相当于将序列的后n位逆序排列。所以可以在调用next_permutation函数之前,优化前N!次调用(N!#include using name... 阅读全文
摘要:
题目倒是简单,只不过要记录走过的路径和输出时候的特别格式让人很纠结。我使用指针记录父节点的数据,当找到解答的时候就根据指针反向遍历整个路径,并将路径上得节点压入栈中。在输出位置依据格式出栈输出即可。 #include #include using namespace std;#include#in... 阅读全文
摘要:
火车调度的可行性满足卡特兰数,所以可以直接用卡特兰数的递推公式解题。由于题目N的范围是1~100,所以需要使用大数计算。卡特兰数的递推公式为: F(n)=F(n-1)*(4n-2)/(n+1) #include #define DEPTH 10000;int a[101][16];void ktl... 阅读全文
2011年10月9日
摘要:
字符串编码,无话可说,直接上代码。 #include#include using namespace std;int main(){ int Num; cin>>Num; for(int i=0;i>str; length=str.length(); ... 阅读全文
摘要:
此题需要一些小小的数学知识。lg(N!)=lg(1)+lg(2)+…+lg(N)。而一个数的位长也刚好是其lg值+1。所以有以下代码: #include#includeint main(){ int caseNum,end; double result; scanf("%d",&c... 阅读全文
摘要:
简单的深度优先搜索,但是需要注意尾节点与首节点之和同样必须为素数。 View Code 1 #include 2 #include 3 #include 4 5 int num; 6 int result[21]; 7 bool visited[21]; 8 bool pr... 阅读全文
2011年10月8日
摘要:
题目不具有单调性,所以求导可以忽略。考虑参数在有限的可选值之中,所以可以选择了深度优先。确定搜索变量为5个参数,然后进行深度优先搜索,并在深度为5时终止搜索,判断状态。 View Code 1 #include 2 #include 3 using namespace std;... 阅读全文
2011年10月7日