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


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【连续出牌数量】

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

输入描述

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

输出描述

  • 输出最大出牌数量

 


代码实现


CPP解法一


#include <bits/stdc++.h>

using namespace std;

class Solution {
public:
    // 待实现函数,在此函数中填入答题代码;
    int PlayCards(vector<string> &Info)
    {
        int n = (int) Info.size();
        vector<vector<int>> matrix(n, vector<int>(n, 0));
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

CPP解法二


#include <bits/stdc++.h>

using namespace std;

int parent[15];

int find(int p)

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

CPP解法三


#include<bits/stdc++.h>

using namespace std;

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA解法一


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    static int max = Integer.MIN_VALUE;

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String[] s1 = sc.nextLine().split(" ");
        String[] s2 = sc.nextLine().split(" ");

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA解法二


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

    public static int max;  

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


let str1 = readLine().split(" "); 
let str2 = readLine().split(" ");

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python BFS解法


剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python DFS解法


a = input().split()
b = input().split()

t_list = {}

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看