10 2012 档案

摘要:问题出自linux C 一站式编程网站,定义一个数组,编程打印它的全排列程序的主要思路是:把第1个数换到最前面来(本来就在最前面),准备打印1xx,再对后两个数2和3做全排列。把第2个数换到最前面来,准备打印2xx,再对后两个数1和3做全排列。把第3个数换到最前面来,准备打印3xx,再对后两个数1和2做全排列。可见这是一个递归的过程,把对整个序列做全排列的问题归结为对它的子序列做全排列的问题,注意我没有描述Base Case怎么处理,你需要自己想。你的程序要具有通用性,如果改变了N和数组a的定义(比如改成4个数的数组),其它代码不需要修改就可以做4个数的全排列(共24种排列)。 解题过程: ( 阅读全文
posted @ 2012-10-27 17:51 时光旅行的懒猫 阅读(956) 评论(0) 推荐(0)
摘要:在论坛看到一个新生问这个题了,转化成字符串然后枚举肯定会超时。1704http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1704View Code 1 #include<stdio.h> 2 #define N 10 3 int d[N]; 4 int value; 5 void deal (int n) 6 { 7 if(n<=0) return; 8 int one,ten,i;// one分别代表个位和十位 9 one=n%10;10 n/=10;11 t... 阅读全文
posted @ 2012-10-16 20:01 时光旅行的懒猫 阅读(239) 评论(0) 推荐(0)
摘要:暑假就没看二叉树这块。2136数据结构实验之二叉树的建立与遍历http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2136View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 struct node 5 { 6 int data; 7 struct node *l,*r; 8 }; 9 struct node *t;10 int count=0;11 struct no 阅读全文
posted @ 2012-10-16 19:51 时光旅行的懒猫 阅读(309) 评论(0) 推荐(0)