• AT2201 鏡文 / Mirror String


    题目

    题意翻译

    给出由b、d、p、q四种字符组成的字符串S。请判断S是不是“镜像字符串”。

    这里的“镜像字符串”是指对字符串S进行以下操作后,可得到与原字符串相同的字符串。

    1.反转S。(例:"bdpq"=>"qpdb")

    2.改b为d,改d为b,改p为q,改q为p(不要搞错对应关系)

    分析

      日常岛国水紫题……

      话说倒下标一点一点反转太烦人了,所以以在网上找到了一种一行就能做完这件事的 STL 函数 :“reverse”。

      具体用法如下:

    string sb="trump";
    reverse(sb.begin(),sb.end());
    //输出的结果就是“pmurt”。
    

      这样反转完之后再按题目要求操作并比较就行了。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    string a,b;
    int main()
    {
    	cin>>a;
    	b=a;
    	reverse(a.begin(),a.end());//快捷方便而又亲民的反转。
    	for(int i=0;i<a.size();i++)
    	{
    		if(a[i]=='b') a[i]='d';//按题目要求操作。
    		else if(a[i]=='d') a[i]='b';
    		else if(a[i]=='p') a[i]='q';
    		else if(a[i]=='q') a[i]='p';
    	}
    	if(a==b) printf("Yes");//判断是否与原始字符串相同。
    	else printf("No");
    	return 0;
    }
    

    题目原文

    bdpq の 44 種類の文字から構成される文字列 SS が与えられます。 SS が「鏡文」かどうかを判定してください。

    ここで、「鏡文」というのは以下の操作を文字列 SS に施したときに、元と同じ文字列が得られるような文字列 SS のことです。

    1.SS の順序を逆転する。

    2.b を d に、d を b に、p を q に、q を p に置換する。

  • 相关阅读:
    MySQL[MariaDB]安装与配置
    Docker介绍与安装使用
    Docker命令操作
    5G网络
    centos7单机部署腾讯蓝鲸运维平台6.0.2
    建立rsyslog日志服务器
    centos7.7安装oracle11g
    Linux pip命令报错 -bash: pip: command not found
    两种方式安装ansible
    centos7安装zabbix
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/10970318.html
Copyright © 2020-2023  润新知