3650. 转机折扣

单点时限: 2.0 sec

内存限制: 512 MB

你女朋友最近又不理你了。这一定是因为你上个月没有去浦东看她。异地恋实在是太辛苦了,浦西到浦东的距离,对于你来说,就像是上海到北京的距离。

曾有诗这样写道:

世上最遥远的距离,不是生与死的距离,不是天各一方,而是我就站在你面前,你却不知道我爱你。

你决定乘坐航班从虹桥飞往浦东,希望能挽回你女朋友的心。

众所周知,虹桥没有直飞浦东的航班,你需要找一个机场转机。虽然你不在乎这个经济成本,但是,幸运的是,为了庆祝双十一,航空公司推出了一个活动,若你从机场 A 乘坐航班飞往机场 B,机场 B 接着飞往机场 C,且机场 B 的字典序在机场 A 和机场 C 之间的,可以享受 9 折优惠。

所有机场的名字长度都是相等的。

一句话题意:给出等长的两个字符串 s 和 t,要求一个与他们等长的字符串字典序比其中一个大,但比另外一个小。

输入格式
输入两行两个等长的非空字符串 s, t。长度不超过 105,由英文大写字母组成。

输入保证有解。

输出格式
输出一个与输入的字符串等长的字符串,也由英文大写字母组成。如果有多解,输出任意一解。

样例
input
SHA
PVG
output
PZI
input
ZSPD
ZSSS
output
ZSQD

/*
思路:从后往前找,只要能够比最小字典字符串大就行,保证前面的序列和最小的一样。
*/
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
	string s1,s2;
	cin>>s1>>s2;
	n=s1.size();
	if(s1>s2)
		swap(s1,s2);
	for(int i = s1.size(); i>=0;) {
		if(s1[i]=='Z')
			i--;
		else {
			s1[i]++;
			for(int j=i+1; j<n; j++)
				s1[j]='A';
			break;
		}
	}
	cout<<s1<<endl;
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值