代码练习
Cynthia____Zhang
这个作者很懒,什么都没留下…
展开
-
生成元
http://codepad.org/cTao3Kvg/*生成元 *如果X加上X的各个数字之和得到Y,就说X是Y的生成元。给出N,N在1到100000之间,求最小生成元 *提高效率,可以查表进行计算*/ #include #include #define maxn 100005 int ans[maxn];//较大的数在函数外部定义 int转载 2014-10-12 12:41:07 · 573 阅读 · 0 评论 -
图的遍历
//图的深度优先遍历(邻接矩阵)void graph::depehfirstsearch(const int startpoint,int visited[], void visit(char item)){ int neighborpoint; visit(getvalue(startpoint));//访问节点的startpoint visited[start转载 2014-10-18 17:00:11 · 341 阅读 · 0 评论 -
2014-10-16
/*P143悲剧文本 *采用链表,每输入一个字符就把它存起来,设输入的字符串为S[1-N], *则可以用next【i】表示当前显示屏幕中右边的字符编号*/#include#includeusing namespace std;const int maxn = 10005;int last, cur, next[maxn];char s[maxn];int转载 2014-10-16 21:33:45 · 269 阅读 · 0 评论 -
二叉树代码
//递归法遍历二叉树void btree ::visit(node * searchp){coutdata;}void btree::preorder(node *searchp){if(searchp != NULL){visit(searchp);preorder(searchp->lchild);preorder(searchp->rchild);转载 2014-10-17 21:29:52 · 234 阅读 · 0 评论 -
几道题目
#include#includeusing namespace std;const int maxn = 1000;int main(){ int n, q, x, a[maxn],kase = 0; while(scanf("%d%d",&n,&q) == 2 && n){//n为大理石的个数,q为所要查询的个数 printf转载 2014-10-14 23:09:58 · 252 阅读 · 0 评论 -
2014-10-16
/*信息解码P83*/#include#includeint code[8][1int readchar(){ for(;;){ int ch = getchar(); if(ch != '\n' && ch != '\r'){ return ch; } }}//跨行读取字符转载 2014-10-15 22:58:02 · 312 阅读 · 0 评论 -
The dole queue
/* *救济金发放(the dole queue P82)*/#include#define max 25int n, k, m, a[max];int go(int p,int d,int t){ while(t--){ do{ p = (p+d+n-1) %n + 1; }转载 2014-10-12 21:21:37 · 238 阅读 · 0 评论 -
环状序列
/*环状序列 *求最小表示--字典序最小(一般对于两个字符串,从第一个字符开始比较,当某一个位置的字符不同时,该位置字符较小的串,字典序较小。 *如果其中一个字符串已经没有更多的字符,但另一个字符还没结束,则较短的字符串字典序较小) */ /*解法:用变量ans表示到目前为止,字典序最小串在输入串中的起始位置,然后不断更新ans*/ #include #include转载 2014-10-12 13:21:55 · 626 阅读 · 0 评论 -
刽子手游戏P79
#include#include#define maxn 100int left,chance;//还需要猜left个位置,错chance之后就会输char kstring[maxn],gstring[maxn];int win,lose;void guess(char ch){ int bad = 1; int i; for(转载 2014-10-12 15:47:43 · 260 阅读 · 0 评论 -
2014-10-20
//把in_order[L1...R1]和post_order[L2...R2]建成一棵二叉树,返回树根int build(int L1,int R1, int L2, int R2){ if(L1 > R1) return 0;//空树 int root = post_order[R2]; int p = L1; while(in_o转载 2014-10-20 20:20:29 · 240 阅读 · 0 评论