首页 > 其他分享 >游游的问号替换

游游的问号替换

时间:2023-10-16 17:59:36浏览次数:31  
标签:string int dfs 游游 str 替换 问号

题目链接 :C-游游的问号替换_牛客周赛 Round 15 (nowcoder.com)

 

 可以当成构造题目做, 长度最长只有1000, 并且每次dfs的正确答案只有一两个, 所以时间跑的很快

int main()
{
    string s; cin >> s;
    int n = s.size();
    auto dfs = [&](auto &&dfs, string str, int s) -> string 
    {
        if(s >= n) return str;
        char cp = str[s];
        for(int i = 0; i <= 2; i ++)
        {
            if(cp != '?' && cp - '0' != i) continue;//非?时跳过构造相同情况     
            
            str[s] = (char)(i + '0');//构造?等于0.1.2的情况
            
            if(s > 0 && str[s] == str[s - 1]) continue;
            
            if(s <= 1)
            {
                string res = dfs(dfs, str, s + 1);
                if(res != "null") return res;
            }
            else
            {
                int sum = (str[s - 2] - '0' * 9) + (str[s - 1] - ' 0') * 3 + (str[s] - '0');
                if(sum & 1) continue;
                string res = dfs(dfs, str, s + 1);
                if(res != "null") return res;
            }
        }
        return "null";
    };
    string res = dfs(dfs, s, 0);
    cout << (res == "null" ? "-1" : res) << endl;
    return 0;
}

 

标签:string,int,dfs,游游,str,替换,问号
From: https://www.cnblogs.com/ZouYua/p/17767963.html

相关文章

  • 【译】使用保留大小写的查找和替换来保存您的命名方式
    VisualStudio搜索体验获得了一项新功能,允许用户查找和替换文本,而不必担心不同的大小写。例如,方法参数“catalogItemId”和对象属性“CatalogItemId”有相同的名称,但大小写不同,但都应该用类似“productId”的东西替换,并使用各自的大小写。 该功能是由用户请求的,他们......
  • 高效解决方案:Java轻松批量查找与替换Excel文本
    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Excel中,我们经常会使用快捷键Ctrl+F和Ctrl+H对查找的内容进行替换。但是这种情况对于单个的Excel还是很适合的,那如果遇到Excel......
  • if else的多种替换方式
    1)利用逻辑判断的短路运算来实现&&和 ||(&&中第一个表达式为假就不会去处理第二个表达式,||则相反)//if为真if(bool){value=getYes();}//&&改版bool&&(value=getYes());//if为假if(!bool){value=getNo();}bool||(value=getNo());2)三元运算......
  • Oracle 替换回车和换行
      --替换回车和换行updatedc_group_parametertsett.description=replace(replace(t.description,chr(10),''),chr(13),'')wheret.description<>replace(replace(t.description,chr(10),''),chr(13),'');--替换双引号......
  • sed 替换命令
    CreateaBackupTocreateabackupfilebeforeoverwritingtheexistingone,addthe.bakparametertothe-itag.sed-i.bak's/foo/FOO/g'example.txt MatchandReplaceAllCasesTofindandreplaceallinstancesofawordandignorecapitaliza......
  • Linux批量替换文件内容
    示例方法:Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。用sed命令可以批量替换多个文件中的字符串。sed-i"s/原字符串/新字符串/g"`grep原字符串-rl所在目录`例如:我要把mahuinan替换为huinanma,执行命令:sed-i"s/mahui......
  • golang 反斜杠替换
    难点主要是golang和Java类似双引号定义字符串pythonphp单双引号通吃只是上代码packagemainimport( "fmt" "strings")funcmain(){ str:="+++\\+++" replacedStr:=strings.Replace(str,"\\","",-1) fmt.Println(......
  • fiddler 使用自动相应 替换js
    fiddler使用自动相应替换js   ......
  • 在JavaScript中,如何替换所有出现的字符串?
    内容来自DOChttps://q.houxu6.top/?s=在JavaScript中,如何替换所有出现的字符串?给定一个字符串:s="Testabctesttestabctesttesttestabctesttestabc";这似乎只删除了上面字符串中的第一个abc:s=s.replace('abc','');如何替换所有的它的出现?在大多数流......
  • python查找替换危险字符脚本
    为了沃滴好大儿的大创写了这么个脚本代码如下:1importio2importbase6434defreplace_dangerous_sequences(image_path):5try:6#读取图像文件的内容7withopen(image_path,'rb')asimage_file:8image_data=image_......