ZOJ Problem Set - 1004
1.翻译参考
http://liucw.blog.51cto.com/6751239/1198026
2.代码参考
http://www.cnblogs.com/devymex/archive/2010/08/04/1792276.html
回溯的方法:先走完二叉树的一路,然后恢复现场,走另一路。
注意出口位置,和条件判断。
STL:vector
(1)http://zh.wikipedia.org/wiki/Vector_(STL)
(2)https://software.intel.com/zh-cn/blogs/2011/08/10/c-vector
反向迭代器rbegin,rend
//反向输入
vector<char> Src(str1.rbegin(), str1.rend());
http://blog.csdn.net/kjing/article/details/6936325
1.顺序?2.结果错误
#include<iostream>
#include<string>
#include<vector> using namespace std; void GenAnagram(vector<char> &Src, vector<char> &Dest,vector<char> &Order, vector<char> &Stack)
{
if(!Src.empty())
{
Order.push_back('i');
Stack.push_back(Src.back());
Src.pop_back();
GenAnagram(Src, Dest, Order, Stack);
Src.push_back(Stack.back());
Stack.pop_back();
Order.pop_back();
}
if(!Stack.empty()&&Stack.back()==Dest[Stack.size() + Src.size() - ])
{
Order.push_back('o');
char cTemp =Stack.back();
Stack.pop_back();
GenAnagram(Src, Dest, Order, Stack);
Stack.push_back(cTemp);
Order.pop_back();
}
//参考代码这块写错了
if (Src.empty() && Stack.empty()) { vector<char>::iterator i = Order.begin();
for (; i != Order.end(); ++i ) {
cout << *i << ' ';
}
cout << endl;
}
} int main()
{
for(string str1,str2;cin>>str1>>str2;cout<<']'<<endl)
{
cout<<'['<<endl;
//反向输入
vector<char> Src(str1.rbegin(), str1.rend());
vector<char> Dest(str2.rbegin(), str2.rend());
vector<char> Order, Stack;
GenAnagram(Src, Dest, Order, Stack);
}
return ;
}
ZOJ Problem Set - 1004的更多相关文章
- ZOJ Problem Set - 1394 Polar Explorer
这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...
- ZOJ Problem Set - 1025解题报告
ZOJ Problem Set - 1025 题目分类:基础题 原题地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=10 ...
- ZOJ Problem Set - 3829Known Notation(贪心)
ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达 ...
- ZOJ Problem Set - 2563 Long Dominoes 【如压力dp】
称号:ZOJ Problem Set - 2563 Long Dominoes 题意:给出1*3的小矩形.求覆盖m*n的矩阵的最多的不同的方法数? 分析:有一道题目是1 * 2的.比較火.链接:这里 ...
- ZOJ Problem Set - 3593 拓展欧几里得 数学
ZOJ Problem Set - 3593 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3593 One Person ...
- ZOJ Problem Set - 2297 Survival 【状压dp】
题目:ZOJ Problem Set - 2297 Survival 题意:给出一些怪,有两个值,打他花费的血和能够添加的血,然后有一个boss,必须把小怪全部都打死之后才干打boss,血量小于0会死 ...
- Monkey Banana Problem LightOJ - 1004
Monkey Banana Problem LightOJ - 1004 错误记录: 1.数组开小2.每组数据数组没有清空 #include<cstdio> #include<cst ...
- ZOJ Problem Set - 3820 Building Fire Stations 【树的直径 + 操作 】
题目:problemId=5374" target="_blank">ZOJ Problem Set - 3820 Building Fire Stations 题 ...
- ZOJ Problem Set - 3229 Shoot the Bullet 【有上下界网络流+流量输出】
题目:problemId=3442" target="_blank">ZOJ Problem Set - 3229 Shoot the Bullet 分类:有源有汇 ...
随机推荐
- 【Python之路】特别篇--组合搜索功能实现
组合搜索: 根据特定标签内容,返回符合的数据. 效果图: 设计规划: 一.数据库表划分: 1.方向表,(运维自动化,Python开发,..) 2.分类表,(Python,Java,C#,.) 3.多对 ...
- 排列组合C、A
排列组合是组合学最基本的概念.所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序.组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序. 排列组合定义及公式 排列的定义:从n个不同 ...
- parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
parents([expr]) 概述 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素).可以通过一个可选的表达式进行筛选.大理石平台检定规程 参数 exprStringV1.0 用于 ...
- 用JavaScript实现快排
啥是快排这里就不讲了,主要还是把原来c++学的东西抓紧转化过来 快排运用的是分而治之的思想,确定一个中值,把大的放右边,小的放左边,然后再左右分别对左右的左右(雾)进行处理 需要注意的一点是,这玩意远 ...
- 在chrome开发者模式中查找你的js文件
在chrom开发者模式中按ctrl+o查找你的js文件
- Python中的函数递归思想,以及对比迭代和递归解决Fibonacci数列
什么是递归?简单的说就是:函数自身调用自身. “普通程序员用迭代,天才程序员用递归” 虽然递归 在运行时会不断出栈压栈,调用底层的寄存器,造成空间上的占用以及时间上的缓慢, 但在一些算法上面仍然是递归 ...
- layer提示带文字
直接撸代码: //加载层-风格4 layer.msg('加载中', { icon: 16 ,shade: 0.01 });
- 队列(Java实现)
队列的特点是先进先出. 基于链表的队列 public class LinkedListQueue<Item> { private Node first; // 指向最早添加进队列的元素 p ...
- Java多线程之ThreadPoolExecutor详解使用
1.概述 我将讲解JAVA原生线程池的基本使用,并由此延伸出JAVA中和线程管理相关的类结构体系,然后我们详细描述JAVA原生线程池的结构和工作方式 2.为什么要使用线程池 前文我们已经讲到,线程是一 ...
- Consider defining a bean of type `xxx` in your configuration问题解决
在使用SpringBoot装配mybatis时出现了异常 *************************** APPLICATION FAILED TO START *************** ...