codeforces 801B Valued Keys

题目链接:http://codeforces.com/contest/801/problem/B

题意:定义字符串运算f(x,y)=z;字符串x,y长度相等,对于每一位,字符串z对应的字符为字符串x和y位置的字典序小的字符。现在给你字符串x和z,让你输出一个满足条件的字符串y,如果不存在输出-1;

分析:直接比较x和z对应每一位的字符,如果x和z相等,那么y那一位字符等于字典序大于x的任意;如果x大于z,那么y等于z;如果x小于z,则不存在y,输出-1;

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main() {
 4     ios_base::sync_with_stdio(0);
 5 //freopen("out1.txt","w",stdout);
 6     int n;
 7     char a[105],b[105],c[105];
 8     cin>>a;
 9     cin>>b;
10     int d=strlen(a);
11     int p=0;
12     for(int i=0;i<d;i++){
13         if(a[i]>b[i]){
14             c[i]=b[i];
15         }
16         else if(a[i]==b[i]){
17             c[i]='z';
18         }
19         else if(a[i]<b[i]){
20             p=1;
21             break;
22         }
23     }
24     if(p==1) cout<<-1<<endl;
25     else {
26         for(int i=0;i<d;i++){
27             cout<<c[i];
28         }
29         cout<<endl;
30     }
31     return 0;
32 }
View Code
原文地址:https://www.cnblogs.com/ls961006/p/6921362.html