zoukankan      html  css  js  c++  java
  • 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 に置換する。

  • 相关阅读:
    有一天,我们能这样相爱吗?
    端午节来源六说
    一个ini类代替缓存使用
    创意生活可爱香皂
    漂亮的韩国发饰
    Oracle中PL/SQL单行函数和组函数详解
    真正爱你的女人是这样的
    执子之手,与子偕老。你同意么?
    男人如茶
    Oracle SQL 內置函數大全
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/10970318.html
Copyright © 2011-2022 走看看