【编程题目 |200分】连续出牌数量【2022 Q1,Q2考试题】

题目描述

  • 手里给一副手牌,数字从0-9,有r(红色),,g(绿色),b(蓝色),y(黄色)四种颜色,出牌规则为每次打出的牌必须跟上一张的数字或者颜色相同,否则不能抽选。
  • 选手应该怎么选才能使得抽选的次数最大,并且输出这个最大次数。

输入描述

  • 第一行 牌的数值n (1<=n<=9)
  • 第二行 牌的颜色(r,g,b,y四种颜色表示)

输出描述

  • 输出最大出牌数量

示例

输入

1 4 3 4 5
r y b b r

输出

3

说明

如果打(1, r)-> (5, r),那么能打两张。

如果打(4,y) -> (4, b) -> (3, b),那么能打三张。

思路分析

这道题可以考虑DFS

参考代码

import java.util.Scanner;public class lianXuChuPaiNumDfs {public static void main(String[] args) {Scanner in = new Scanner(System.in);String[] str1 = in.nextLine().split(" ");String[] str2 = in.nextLine().split(" ");int n = str1.length;int[] used = new int[n];int ans = 0;for (int i = 0; i < n; i++) {ans = Math.max(ans, dfs(str1, str2, i, used, 1));}System.out.println(ans);}public static int dfs(String[] str1, String[] str2, int i, int[] used, int ans){if(used[i] == 1 || i >= str1.length){return ans - 1;}int res = ans;used[i] = 1;for (int j = 0; j < str1.length; j++) {if(i != j && used[j] == 0){if(str1[i].equals(str1[j]) || str2[i].equals(str2[j])){int t = dfs(str1, str2, j, used, ans + 1);res = Math.max(res, t);}}}used[i] = 0;return res;}
}

欢迎在评论区指正以及留下自己的更简洁的方法。

华为机试:连续出牌数量相关推荐

  1. 【华为OD机试真题 python】连续出牌数量【2022 Q4 | 200分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  2. 【华为OD机试真题 JAVA】连续出牌数量

    JS版:[华为OD机试真题 JS]连续出牌数量 标题:连续出牌数量 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红.黄.蓝 ...

  3. 华为机试【连续出牌数量】

    标题:连续出牌数量 | 时间限制:1秒 | 内存限制:262144K | 语言限制: 不限 [连续出牌数量]有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红.黄.蓝.绿中的一种,数字为0-9中的 ...

  4. 【华为OD机试真题 JS】连续出牌数量

    标题:连续出牌数量 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红.黄.蓝.绿中的一种,数字为0-9中的一个.游戏开始时玩 ...

  5. 【华为OD机试真题 Python】连续出牌数量

    前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...

  6. 【华为OD统一考试B卷 | 200分】 连续出牌数量(C++ Java JavaScript )

    华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷). 你收到的链接上面会标注A卷还是 ...

  7. 华为od统一考试B卷【连续出牌数量】C++ 实现

              所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 手里给一副手牌,数字从0-9,有r(红色),,g ...

  8. 华为od统一考试B卷【连续出牌数量】Java 实现

             所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 手里给一副手牌,数字从0-9,有r(红色),,g( ...

  9. 华为od统一考试B卷【连续出牌数量】JavaScript 实现

             所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 手里给一副手牌,数字从0-9,有r(红色),,g( ...

最新文章

  1. Linux 设置windows可见的文件夹共享,创建只拥有读权限的共享用户,samba工具安装,“smbpasswd: command not found“问题解决
  2. boost::mp11::mp_third相关用法的测试程序
  3. CMOS图像传感器——工作原理
  4. python通过跳板机连接服务器_使用pycharm、跳板机连接内网服务器
  5. Strtus2标签s:url
  6. Python对zip、tgz、rar压缩包的解压与读取
  7. matlab二重定积分_matlab求二重积分
  8. 计算机分子模拟聚乙烯,聚乙烯结晶及拉伸过程的分子动力学模拟
  9. 优秀的WBS的分解标准
  10. 关键词词云怎么做_7个好用的在线词云生成工具
  11. 测试固态硬盘有没有坏道的软件,固态硬盘有坏道怎么办(ssd坏块检测工具)
  12. html5 橡皮擦效果,javascript – HTML5 Canvas:globalCompositeOperation(橡皮擦)
  13. Pytorch实现有监督对比学习损失函数
  14. 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)
  15. 淘宝全自动下单——解放双手
  16. android 全屏倒计时,全屏计时器app
  17. 【算法❃思维与技巧】图解牛顿迭代法(力扣题实战)
  18. 用图灵机器人2.0实现聊天机器人
  19. 【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)
  20. 【黑客故事】程序员作家王小波

热门文章

  1. 晶振01——晶振分类和无源晶振的设计
  2. 无法打开chm格式文件解决方法
  3. 【repo使用指南】
  4. 读王竹峰老师 《一个数据库十年老兵的思考与总结》 有感
  5. excel简单操作学习记录1-2021/2/6
  6. AndroidStudio百度地图开发之显示地图
  7. 电容式触摸屏调试常见问题汇总(连载贴)
  8. 神码ai人工智能写作机器人_神经符号AI为我们提供具有真正常识的机器
  9. 根据百度地图API自定义切换地图类型为卫星或普通
  10. 2021-07-09 MacBook M1 安装Android Studio