洛谷 P1703 那个什么密码2

Posted 一蓑烟雨任生平

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷 P1703 那个什么密码2相关的知识,希望对你有一定的参考价值。

题目背景

https://www.luogu.org/problem/show?pid=1079

题目描述

与原题一模一样、具体不同请见输入格式

输入输出格式

输入格式:

 

第一行输入密钥

第二行输入明文

第三行输入一个正整数M,代表操作个数.

每个操作将[a,b]的字符全部倒转,比如abc倒转为cba.

接下来M行,每行输入两个正整数a,b。

 

输出格式:

 

输出一行,输出密文。

 

输入输出样例

输入样例#1: 复制
CompleteVictory
Wherethereisawillthereisaway
0
输出样例#1: 复制
Yvqgpxaimmklongnzfwpvxmniytm

说明

由zxy大神原创、本人在洛谷上传。

思路:模拟。

吐槽:出题人的语文绝对不及格!!!!!(╯‵□′)╯︵┻━┻  题目描述一点都不清楚。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
string s,k;
int n,miyao[5010];
int main(){
     cin>>k>>s;
    int len=k.length();
    for(int i=0;i<len;i++)
        for(int j=i;j<5010;j+=len){
            if(k[i]>=A&&k[i]<=Z)    miyao[j]=(int)(k[i]-A);
            else    miyao[j]=(int)(k[i]-a); 
        }
    len=s.length();
    for(int i=0;i<len;i++){
        if(s[i]>=A&&s[i]<=Z){
            if(s[i]+miyao[i]>Z)    s[i]=s[i]+miyao[i]-26;
            else    s[i]=s[i]+miyao[i];
        }
        else{
            if(s[i]+miyao[i]>z)    s[i]=s[i]+miyao[i]-26;
            else    s[i]=s[i]+miyao[i];
        }
    }
    scanf("%d",&n);
    while(n--){
        int a,b;
        scanf("%d%d",&a,&b);
        string t1=s.substr(0,a-1);
        string t2=s.substr(a-1,b-a+1);
        string t3=s.substr(b,s.length()-b);
        reverse(t2.begin(),t2.end());
        s=t1+t2+t3;
    }
    cout<<s<<endl;
}

 

 

以上是关于洛谷 P1703 那个什么密码2的主要内容,如果未能解决你的问题,请参考以下文章

noip跟着洛谷刷noip题2

洛谷P1016 旅行家的预算 贪心

洛谷P1161 开灯 数学

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

如何找出前一个片段正在使用导航组件

洛谷P1199 三国游戏 博弈论 数学