首页 > 其他分享 >牛客题解 贝伦卡斯泰露

牛客题解 贝伦卡斯泰露

时间:2022-09-26 17:55:21浏览次数:78  
标签:泰露 return int 题解 s1 ans lst 贝伦 s2

链接:https://ac.nowcoder.com/acm/problem/14132
来源:牛客网

题解

作者 岛田小雅

子序列的概念,需要区别于子串

本来以为是道 DP 题,看了下范围发现爆搜好像问题也不是很大,于是我用了 DFS 爆搜。

我一开始看错题了,以为输入的是可以看作一个字符的数字,后来 WA 了两发才发现 \(A_i\) 是个数字而且范围是 \((1\leqslant{A_i}\leqslant{40})\)。但是问题不大,我们先把输入的东西当成一个字符来做,最后把输入改成整型,在判断时把 \(\texttt{int}\) 显式类型转换成 \(\texttt{char}\) 就可以啦。

具体实现见 AC 代码。

*AC 代码中使用了一个很方便的小玩意:\(\texttt{substr()}\),它可以返回一个字符串在任意区间的子串。

AC 代码

作者 岛田小雅
#include <bits/stdc++.h>
using namespace std;

const int N = 42;
int t, n;
int lst[N];
bool ans;

void dfs(int p, string s1, string s2)
{
    if(ans) return; // 如果已经有一个答案,那剩下的就都不用考虑了
    if(s1.size() > n/2) return; // s1过长,该情况不合法
    if(s2.size() > s1.size()) return; // 规定s1的长度必须大于等于s2,避免重复搜索
    if(s2 != s1.substr(0,s2.size())) return; // 如果两个字符串前面不一样,后面就不用考虑了
    if(p > n) ans = true;
    else
    {
        dfs(p+1,s1+(char)lst[p],s2);
        dfs(p+1,s1,s2+(char)lst[p]);
    }
}

int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> t;
    while(t--)
    {
        ans = false;
        cin >> n;
        for(int i = 1; i <= n; i++) cin >> lst[i];
        dfs(1,"","");
        if(ans) cout << "Frederica Bernkastel\n";
        else cout << "Furude Rika\n";
    }
    return 0;
}

标签:泰露,return,int,题解,s1,ans,lst,贝伦,s2
From: https://www.cnblogs.com/CasseShimada/p/16731816.html

相关文章

  • 线段树学习笔记(基础&进阶)(一) | P3372 【模板】线段树 1 题解
    什么是线段树线段树是一棵二叉树,每个结点存储需维护的信息,一般用于处理区间最值、区间和等问题。线段树的用处对编号连续的一些点进行修改或者统计操作,修改和统计的复杂......
  • AGC028C Min Cost Cycle 题解
    考虑将\(\min(a_i,b_j)\)转化为任意选择\(a_i,b_j\),因为多出来的不合法状态答案一定不会变小。注意到一个合法的行走方案对于\(a_i,b_j\)的选择只有如下两种情况之一......
  • 题解【CF209C Trails and Glades】
    CF209CTrailsandGlades解题报告图论基础题。考虑一张无向联通图存在欧拉回路的条件是什么:每一个点的度数均为偶数。但这个条件的前提是连通图,那么我们可以考虑......
  • CSP2022 S2 练习二 题解
    ArbitrageA货币可以以\(x\)的汇率兑换B货币,就从A向B连一条权值为\(x\)的边,改一下\(Floyd\)即可。点击查看代码#include<iostream>#include<string>#i......
  • 牛客题解 水图
    链接:https://ac.nowcoder.com/acm/problem/18947来源:牛客网题解作者岛田小雅由题目中“\(n\)个点\(n-1\)条边的无向连通图”可得出这是一棵树。考虑使用树形DP。......
  • Xshell无法连接22端口问题解决办法汇总
    Xshell软件在进行远程连接过程中,会出现端口连接报错的问题,提示:“该IP地址的22端口连接失败”,这是怎么回事?今天小编就xshell软件无法连接22端口的问题,整理相关情形(ubuntu系......
  • iOS 开发者帐号 App转让/转移 及转移后的证书问题解答(多图慎入)
    原文:简书 帐号转移在此,将原帐号称为A帐号,新的帐号称为B帐号。现在需要将A帐号中的App转让到B帐号中。*登录A帐号,找到App如下图: 1.A账号APP点转让.jp......
  • [hystrix] hystrix-dashboard 关于 Unable to connect to Command Metric Stream 的问
    问题在hystrix-dashboard界面中出现以下错误解决方法高版本(具体哪些版本之后我不知道,加上去试试)springcloud需要加以下配置(在被监控一端):@Configurationpubli......
  • 性能测试监控nmon安装和问题解决
      一.安装nmon1.确认linux的版本,选择合适的安装包uname-a查看操作系统信息lsb_release-a或者cat/etc/redhat-release查看linux发行版本2.下载安装nmon下载:由......
  • MySQL数据库安装保姆级教程及1045错误和2058问题解决
    使用Mysql的zip压缩包解压版,下载之后需进行一定的配置,才能使用它。下面对Mysql压缩包版的安装方法进行详细的描述,如有疑问或错误,望及时反馈。首先,mysql的官方下载地址......