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 に置換する。

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/10970318.html
Copyright © 2011-2022 走看看