OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题1130--字母游戏

1130: 字母游戏

时间限制: 1 Sec  内存限制: 128 MB
提交: 521  解决: 232
[提交] [状态] [讨论版] [命题人:]

题目描述

某星期有个比字母大小的游戏。
现在有2个人A和B,每个人都给定了一幅字母牌,我们定义输赢的规则为某个人的每一张牌都严格大于另一个人的每一张牌,这个人就胜利了。
A不知道从哪里学到的魔法,可以更改牌的字母,但是他每次只能a变b,b变c,c变d,...z不能再变了,否则会睡着。
现在A想问问聪明的你,他最少操作几次可以让自己的每张牌都大于B的每张牌。


要求实现函数 
int solve(char *a,char *b)//a是A的牌,b是B的牌,返回A需要操作几次才能使得A的每张牌都大于B的每张牌,如果无论如何都不行返回-1
{
/*
如果可以,返回最小次数
否则返回-1
*/
}
只允许提交函数及其函数内容,否则编译错误
C/C++函数原型:int solve(char *a,char *b) 
Java函数原型: public static int solve(String a, String b) // a, b为输入的两个串



输入

输入两行
第一行是A的牌
第二行是B的牌

牌的长度<=50,保证AB的牌的长度相等 ,全部都是小写字母

每个人的牌的字母顺序都是递增的,即 b不会出现在a的前面






输出

输出最小操作次数


如果无论如何都不行,就输出  -1

样例输入 Copy

abcde
abcde

样例输出 Copy

5

提示

必须严格大于
所以abcde需要变成bcdef才行

来源/分类

函数