noj算法设计题——字母转换
来源:互联网 发布:windows键没反应怎么办 编辑:程序博客网 时间:2024/06/12 21:50
字母转换
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
通过栈交换字母顺序。给定两个字符串,要求所有的进栈和出栈序列(i表示进栈,o表示出栈),使得字符串2在求得的进出栈序列的操作下,变成字符串1。输出结果需满足字典序。例如TROT 到 TORT:
[
i i i i o o o o
i o i i o o i o
]
输入:
给定两个字符串,第一个字符串是源字符串,第二个字符是目标目标字符串。
输出:
所有的进栈和出栈序列,输出结果需满足字典序
输入样例:
madamadammbahamabahamalongshortericrice
输出样例:
[i i i i o o o i o o i i i i o o o o i o i i o i o i o i o o i i o i o i o o i o ][i o i i i o o i i o o o i o i i i o o o i o i o i o i o i o i i i o o o i o i o i o i o i o i o ][][i i o i o i o o
]
C++代码如下:
#include <iostream>#include <string>#include <stack>using namespace std;string src, dst, str_io;void MatchString(void){ stack<char> io; string temp; string::size_type i, j = 0; for (i = 0; i < str_io.size(); ++i) { if (str_io[i] == 'i') io.push(src[j++]); else { temp += io.top(); io.pop(); } } if (temp == dst) { for (i = 0; i < str_io.size(); ++i) cout << str_io[i] << " "; cout << endl; }}void ConvertString(int step, int count, int i_sum){ if (step == src.size() * 2) MatchString(); else { if (i_sum < static_cast<int> (src.size())) { str_io += 'i'; ++count; ++i_sum; ConvertString(step + 1, count, i_sum); --count; --i_sum; str_io.resize(str_io.size() - 1); } if (count > 0) { str_io += 'o'; --count; ConvertString(step + 1, count, i_sum); str_io.resize(str_io.size() - 1); ++count; } }}int main(int argc, char *argv[]){ while (cin >> src >> dst) { cout << "[" << endl; ConvertString(0, 0, 0); cout << "]" << endl; } return 0;}
0 0
- noj算法设计题——字母转换
- noj算法设计题——踩气球
- noj算法设计——迷宫问题
- noj算法题——二分查找
- noj算法题——走迷宫
- noj算法题——循环赛日程表
- noj算法题——装载问题
- noj算法题——堡垒问题
- noj算法题——素数环
- noj算法设计——求图象周长
- noj算法设计——农场灌溉问题
- noj算法题——穷举n位二进制数
- noj算法题——0-1背包问题
- noj算法题——八皇后问题
- NOJ——1641错误的算法
- 04.——水仙花数,字母大小写转换算法
- 小程序——字母大小写转换
- 模拟noj——打扑克
- Codeforces Round #150 (Div. 1) A
- 函数指针与指针函数
- 数据结构之—线性表之—顺序表
- js事件(Event)知识整理
- poj 并查集 - 大体模板
- noj算法设计题——字母转换
- 深入理解PHP之数组(遍历顺序)
- LINK : fatal error LNK1123: failure duringconversion to COFF: file invalid or corrupt
- Error Code: 1305. FUNCTION student.rand_string does not exist
- Icon资源详解[1]
- Python中的字典
- hdu 1421搬寝室 动态规划问题
- 初学c++
- 杭电 HDU ACM 1398 Square Coins