关注
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @file: 扑克游戏
* @author: Ash
* @date: 2019/9/1 15:15
* @description:
* 3
* 123
* 3
* 123
* 321
* 45
* 67
*
* {
* d d l
* d d r
* }
* {
* l l l
* r l l
* }
* {
* }
* @since:
*/
public class 扑克游戏 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int s = Integer.parseInt(in.nextLine());
for (int i = 0; i < s; i++) {
String str1 = in.nextLine();
String str2 = in.nextLine();
int n = str1.length();
System.out.println("{");
List<String> res = new ArrayList<>();
dfs("", str2, str1, 0, n, "", res);
for (String st : res) {
System.out.println(st.trim());
}
System.out.println("}");
}
}
in.close();
}
private static void dfs(String cmd, String goal, String ori, int depth, int n, String s, List<String> res) {
if (depth == n && !goal.equals(s) || depth > n || s.length() > goal.length()) {
return;
}
if (depth == n && goal.equals(s)) {
res.add(cmd);
} else {
// d
dfs(cmd + " " + "d", goal, ori, depth + 1, n, s, res);
// l
dfs(cmd + " " + "l", goal, ori, depth + 1, n, ori.charAt(depth) + s, res);
// r
dfs(cmd + " " + "r", goal, ori, depth + 1, n, s + ori.charAt(depth), res);
}
}
}
查看原帖
1 4
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招什么时候开投比较合适? #
23701次浏览 318人参与
# 百度工作体验 #
223389次浏览 1972人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
27960次浏览 216人参与
# 机械人与华为的爱恨情仇 #
117155次浏览 946人参与
# 发工资后,你做的第一件事是什么 #
68154次浏览 229人参与
# 机械人集合!你是什么工程师? #
15805次浏览 89人参与
# 你觉得实习能学到东西吗 #
36307次浏览 712人参与
# 找不到好工作选择GAP真的丢人吗 #
78265次浏览 938人参与
# 我想去国央企的原因 #
59993次浏览 393人参与
# 如何准备秋招 #
20667次浏览 390人参与
# 工作中哪个瞬间让你想离职 #
25909次浏览 177人参与
# 入职第四天,心情怎么样 #
29451次浏览 417人参与
# 拼多多工作体验 #
28540次浏览 197人参与
# 多益网络求职进展汇总 #
29228次浏览 134人参与
# 快手求职进展汇总 #
547098次浏览 6001人参与
# 硬件应届生薪资是否普遍偏低? #
74083次浏览 514人参与
# 不考虑转正,实习多久合适 #
32324次浏览 145人参与
# 面试中,你被问过哪些奇葩问题? #
68553次浏览 796人参与
# 你们公司几号发工资 #
21227次浏览 140人参与
# 如果再来一次,你还会学硬件吗 #
125786次浏览 1402人参与
# 实习,不懂就问 #
46386次浏览 693人参与