3650. 转机折扣

Corsimy

泰戈尔说,接触着你许会杀害,远离着你许会拥有。
‘By touching you may kill, by keeping away you may possess.’
这么多年来,早已习惯了远远的爱。这样的暗恋,哪里卑微呢?
毕竟,我爱你,与你无关。

POCARI

//将此题可以将string看成一个26进制的数,
//在较小的string数的基础上加1得到的结果肯定是满足的一个大,一个小之间的

include

include

include

using namespace std;
char str1[100005]={‘\0’},str2[100005]={‘\0’},mid[100005]={‘\0’};
int main(){
scanf(“%s\n%s”,str1,str2);
int len=strlen(str1);
if(strcmp(str1,str2)>0){
reverse(str2,str2+len);
strcpy(mid,str2); //mid为值较小的字符串
}else{
reverse(str1,str1+len);
strcpy(mid,str1);
}
int plus=1; //初始化进位数
for(int i=0;plus!=0;i++){
char c=mid[i];
mid[i]=(mid[i]-‘A’+plus)%26+’A’;
plus=(c-‘A’+plus)/26;
}
reverse(mid,mid+strlen(mid));
printf(“%s\n”,mid);
}

十三月落雨

文案不错
测试样例好多

10205101536

楼上已经说的很清楚了,只需要让小的那个字符串加一就好,也就是说让最后一个非’Z’的字符加一,该字符后面(如果有)的所有字符变为‘A’即可

include

include

define debug 1

using namespace std;
int main(){
string s1;
string s2;
cin>>s1;
cin>>s2;
string min = s1<s2?s1:s2;
if(debug)
cout<<”**”<<min<=0&&min[i]==’Z’;i–){
}
if(debug)cout<<i<<endl;
if(i==min.size()-1){
min[i]++;
cout<<min;
return 0;
}
min[i]++;
i++;
while(i<min.size()){
min[i] = ‘A’;
i++;
}
cout<<min;
return 0;

}

你当前正在回复 博客/题目
存在问题!