首页 > 其他分享 >玛雅人的密码

玛雅人的密码

时间:2024-10-20 21:20:09浏览次数:3  
标签:输出 玛雅人 NN int 换位 密码 字符串

玛雅人有一种密码,如果字符串中出现连续的 20122012 四个数字就能解开密码。

给定一个长度为 NN 的字符串,该字符串中只含有 0,1,20,1,2 三种数字。

可以对该字符串进行换位操作,每次操作可选取相邻的两个数字交换彼此位置。

请问这个字符串要换位几次才能解开密码。

例如 0212002120 经过一次换位,可以得到 20120,01220,02210,0210220120,01220,02210,02102,其中 2012020120 符合要求,因此输出为 11。

如果无论换位多少次都解不开密码,输出 −1−1。

输入格式

第一行包含一个整数 NN,表示字符串的长度。

第二行包含一个由 0,1,20,1,2 组成的,长度为 NN 的字符串。

输出格式

若可以解出密码,则输出最少的换位次数;否则输出 −1−1。

数据范围

2≤N≤132≤N≤13

输入样例:
5
02120
输出样例:
1
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
unordered_map<string, int> d, st;
int bfs(){
    queue<string> q;
    q.push(s);
    d[s]=0;
    st[s]=1;
    while(q.size())
    {
        auto t=q.front();
        q.pop();
        if(t.find("2012") != -1) return d[t];
        for(int i=1;i<t.size();i++)
        {
            string tt =t;
            swap(tt[i-1],tt[i]);
            if(!st[tt])
            {
                st[tt]=1;
                q.push(tt);
                d[tt]=d[t]+1;
            }
        }
    }
    return -1;
}
int main()
{
    cin>>n;
    cin>>s;
    cout<<bfs()<<endl;
    return 0;
}

 

标签:输出,玛雅人,NN,int,换位,密码,字符串
From: https://blog.csdn.net/qq_60510847/article/details/142924800

相关文章

  • 在运维领域,为什么以文件形式存储密码比环境变量存储密码要更安全?
    dockercomposesecretshttps://docs.docker.com/compose/how-tos/use-secrets/Asecretisanypieceofdata,suchasapassword,certificate,orAPIkey,thatshouldn’tbetransmittedoveranetworkorstoredunencryptedinaDockerfileorinyourapplicat......
  • 如何网站后台登录?登录 地址?账号密码
    网站后台登录的具体步骤和信息可能会因不同的网站而有所不同,但通常遵循以下通用流程:1.找到后台登录地址常见路径:大多数网站的后台登录地址通常是在主域名后面加上特定的路径,例如:https://www.example.com/adminhttps://www.example.com/backendhttps://admin.example.com......
  • pbootcms使用阿里云主机 后台账号密码都正确 但是登录不进去
    问题描述:阿里云主机新增了文件(夹)数量的限制,即使磁盘空间充足,但文件(夹)数量达到上限后,PBootCMS的缓存文件无法正常更新,导致网站后台无法登录。解决方法:清理缓存文件:登录到服务器,找到PBootCMS的缓存目录(通常位于 /data/runtime/cache 或类似路径)。删除不必要的缓存文件,......
  • pbootcms默认后台地址账号和密码是什么?
    为了确保PBootCMS网站的安全性,建议在部署到服务器后尽快修改后台地址和密码。以下是具体的步骤:修改后台地址登录PBootCMS后台:使用默认的后台地址 http://www.xxxxxx.com/admin.php 登录后台。默认账号:admin默认密码:123456 或 admin导航到后台设置:登录后台后......
  • playfair密码
    实验介绍:playfair密码也是多表代换密码一:编制密码表playfair密码表是一个5x5的矩阵密码表包括了所有26个字母5x5等于25,那么多出的一个字母怎么办呢?在规定中,字母i和j放入同一个格子从左到右,从上到下把密钥填入矩阵,再按字母表顺序填入字母矩阵已经有的字母不填入二:格式化......
  • PbootCMS安装后,默认的后台用户名和密码是多少,怎么登陆?
    1.默认后台路径路径: http://您的域名/admin.php例如,如果你的域名是 example.com,则后台路径为 http://example.com/admin.php2.默认用户名和密码用户名: admin密码: 1234563.登录步骤打开浏览器:使用你喜欢的浏览器,如Chrome、Firefox等。输入后台......
  • PbootCMS修改后台登录账号和密码
    登录后台:使用当前的管理员账号和密码登录后台管理页面。修改密码:登录后,在右上角点击用户头像或用户名,通常会有一个下拉菜单。选择“修改密码”或类似的选项。在弹出的页面中,输入当前密码和新密码,然后保存。修改账号(可选):如果需要修改管理员账号,通常需要在后台的......
  • pbootcms如何修改后台的登陆地址/账号以及密码呢?
    修改后台登录地址步骤备份文件:在进行任何修改前,请先备份 admin.php 文件,以防止意外情况发生。备份命令示例(Linux):bash cp/path/to/your/project/admin.php/path/to/your/project/admin.php.bak重命名 admin.php 文件:将 admin.php 文件重命名为其他名......
  • PbootCMS后台访问地址及默认帐号密码
    1.后台访问路径路径: http://您的域名/admin.php例如,如果你的域名是 example.com,则后台访问路径为 http://example.com/admin.php2.默认帐号和密码用户名: admin密码: 1234563.登录步骤打开浏览器:使用你喜欢的浏览器,如Chrome、Firefox等。输入后......
  • 如何修改网站指定模板?网站怎么修改密码?
    修改网站指定模板通常涉及以下几个步骤,具体操作可能会根据使用的网站构建工具或平台(如WordPress,Joomla,Drupal等)有所不同:备份当前模板:在进行任何修改之前,确保备份当前正在使用的模板文件和数据库。这可以防止在修改过程中出现错误导致网站无法正常访问。选择编辑器:......