CF1473B.String LCM
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let's define a multiplication operation between a string a and a positive integer x: a⋅x is the string that is a result of writing x copies of a one after another. For example, "abc" ⋅ 2 = "abcabc", "a" ⋅ 5 = "aaaaa".
A string a is divisible by another string b if there exists an integer x such that b⋅x=a. For example, "abababab" is divisible by "ab", but is not divisible by "ababab" or "aa".
LCM of two strings s and t (defined as LCM(s,t)) is the shortest non-empty string that is divisible by both s and t.
You are given two strings s and t. Find LCM(s,t) or report that it does not exist. It can be shown that if LCM(s,t) exists, it is unique.
我们定义字符串 a 与正整数 x 之间的乘法运算:a⋅x 表示将 a 重复书写 x 次所得到的字符串。例如,"abc" ⋅ 2 = "abcabc","a" ⋅ 5 = "aaaaa"。
若存在整数 x,使得 b⋅x=a,则称字符串 a 可被字符串 b 整除。例如,"abababab" 可被 "ab" 整除,但不能被 "ababab" 或 "aa" 整除。
两个字符串 s 和 t 的最小公倍式(记为 LCM(s,t))是指最短的非空字符串,它同时可被 s 和 t 整除。
给定两个字符串 s 和 t,请找出 LCM(s,t);若不存在,则报告不存在。可以证明:若 LCM(s,t) 存在,则其唯一。
输入格式
The first line contains one integer q (1≤q≤2000) — the number of test cases.
Each test case consists of two lines, containing strings s and t (1≤∣s∣,∣t∣≤20). Each character in each of these strings is either 'a' or 'b'.
第一行包含一个整数 q(1≤q≤2000)—— 表示测试用例的数量。
每个测试用例由两行组成,分别包含字符串 s 和 t(1≤∣s∣,∣t∣≤20)。这两个字符串中的每个字符均为 'a' 或 'b'。
输出格式
For each test case, print LCM(s,t) if it exists; otherwise, print -1. It can be shown that if LCM(s,t) exists, it is unique.
对于每个测试用例,如果 LCM(s,t) 存在,则输出 LCM(s,t);否则输出 -1。可以证明:若 LCM(s,t) 存在,则其唯一。
输入输出样例
输入#1
3 baba ba aa aaa aba ab
输出#1
baba aaaaaa -1
说明/提示
In the first test case, "baba" = "baba" ⋅ 1 = "ba" ⋅ 2.
In the second test case, "aaaaaa" = "aa" ⋅ 3 = "aaa" ⋅ 2.
在第一个测试用例中,“baba” = “baba” ⋅ 1 = “ba” ⋅ 2。
在第二个测试用例中,“aaaaaa” = “aa” ⋅ 3 = “aaa” ⋅ 2。
输入解题思路,AI测评打分。不知道怎么写?