![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典算法
董道不渝
余将董道而不豫兮
展开
-
汉诺塔
//三柱#include#includeint min = 0;void hanoi(int n, char ch1, char ch2, char ch3){ if(n == 1) { printf("%c->%c\n", ch1, ch3); min++; //return; } else { hanoi(n - 1, c原创 2014-11-21 11:06:10 · 336 阅读 · 0 评论 -
N皇后问题
#include#include#include#define N 8int column[N];//存放每行放置的列数int cnt = 0;//放置方案总数int canplace(int r){ int i; for(i = 0; i < r; i++) { if(column[r] == column[i] || abs(colum原创 2014-11-26 10:41:58 · 349 阅读 · 0 评论 -
约瑟夫环
用循环链表来实现:#include#includestruct node{ int num; struct node* next;};int main(void){ int i, n, m; scanf("%d%d", &n, &m); node* p = (node*)malloc(sizeof(node)); node* x =原创 2014-12-17 16:26:16 · 425 阅读 · 0 评论 -
leetcode:Longest Palindromic Substring
class Solution{public: string longestPalindrome(string s) { string sNew, longest; int i, j = 0, iMax = 1, id = 1; int p[2222]; memset(p, 0, sizeof(p));原创 2015-08-02 20:17:22 · 340 阅读 · 0 评论 -
最少钱币数
这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。#inc原创 2015-11-06 12:37:14 · 617 阅读 · 0 评论