currently reading articles under 圆宝宝给智宝宝的算法养成计划

2016-10-24DFS——倒牛奶

问题描述:

农民约翰有三个容量分别是A,B,C 升的桶,A,B,C 分别是三个从1 到20 的整数,最初,A 和B 桶都是空的,而C 桶是装满牛奶的.有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了.当然每一次灌注都是完全的.由于节约,牛奶不会有丢失.

写一个程序去帮助约翰找出当A 桶是空的时候,C 桶中牛奶所剩量的所有可能性.(从小到大输出)

输入格式:

单独一行包括三个整数 A B C

输出格式:

只有一行,当A是空的时候,C桶牛奶所剩量的所有可能性。

输入样例:

8 9 10

输出样例:

1 2 8 9 10

#includ......

2016-10-23栈——括号配对

问题描述:

输入一串字符(长度小于250),以‘?’结束,判断括号是否配对,配对则输出‘yes’,不配对则输出‘no’。

输入样例:

((())(()()))?

输出样例:

yes

分析:so easy~如果遇到‘(’则压栈,遇到‘)’则出栈,当栈下溢或字符串处理完毕而栈非空时,返回‘no’不配对。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int i, j, top, len;

char ch;

char stack[250];

char s[250];......

2016-10-22 栈——迷宫问题

问题描述:

设有一个m*n的迷宫,入口在(1, 1),出口在(m, n),迷宫每个格子中分别放有0或1,1表示墙,有障碍,不能走,0表示通路,可以走。迷宫走的规则为上、下、左、右四个方向,且不能回走已经走过的格子。当迷宫地图给出后,求从入口到出口的方案总数,并输出每个方案的路径。

输入格式:

第一行两个整数m,n,表示迷宫有m行n列。

以下m行,每行n个整数(0或1),表示迷宫。

输出格式:

前sum行,每行表示一条路径

第sum+1行,输出一个整数sum,表示方案总数。

输入样例1:

3 4

0 0 0 1

0 1 0 0

0 1 0 0

输出样例1......