首页 > 试题广场 >

小牛的作业

[编程题]小牛的作业
  • 热度指数:328 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

某个下午,小牛在写作业,写着写着就哭了。因为作业上有这样一道题。

给你两个仅包含小写英文字母的字符串  和  ,你可以对字符串  执行以下操作:
  • 删除字符串中任意一个元素。
  • 将字符串中任意一个元素转变为任意一个字母。

现需要将字符串  转变为 ,  中所有字符的出现次数和  相同。

求将字符串  转变成  的最小操作次数。若无解,则输出 -1 。

你能帮帮小牛吗?


输入描述:

输入包含两行。

第一行为仅包含小写英文字母的字符串 
第二行为仅包含小写英文字母的字符串 




输出描述:

一个整数,表示将字符串  转变成  的最小操作次数。若无解,则输出 -1。

示例1

输入

abc
cde

输出

2

说明

仅需两步操作就能将 s 转变为 t'
第一步,将 s 的第一个字符 'a' 转变为 'd'。
第二步,将 s 的第二个字符 'b' 转变为 'e'。
示例2

输入

abc
cdef

输出

-1

说明

不存在任意一组操作能将 s 转变为 t'
头像 Medizana
发表于 2025-08-02 20:50:05
import sys from collections import Counter def parseInput(): s = sys.stdin.readline().strip() t = sys.stdin.readline().strip() return s, 展开全文
头像 有胆量的柯基在学习
发表于 2025-08-21 20:44:38
#include <bits/stdc++.h> using namespace std; int main() { string s, t; cin >> s >> t; int n = (int)s.size(), m = (int) 展开全文
头像 牛客61554134号
发表于 2025-07-30 23:41:19
#include <iostream> #include <string> #include <vector> using namespace std; int main() { string s, t; cin >> s >& 展开全文