CF1473B.String LCM

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Let's define a multiplication operation between a string aa and a positive integer xx: a⋅xa \cdot x is the string that is a result of writing xx copies of aa one after another. For example, "abc" ⋅ 2 =\cdot~2~= "abcabc", "a" ⋅ 5 =\cdot~5~= "aaaaa".

A string aa is divisible by another string bb if there exists an integer xx such that b⋅x=ab \cdot x = a. For example, "abababab" is divisible by "ab", but is not divisible by "ababab" or "aa".

LCM of two strings ss and tt (defined as LCM(s,t)LCM(s, t)) is the shortest non-empty string that is divisible by both ss and tt.

You are given two strings ss and tt. Find LCM(s,t)LCM(s, t) or report that it does not exist. It can be shown that if LCM(s,t)LCM(s, t) exists, it is unique.

我们定义字符串 aa 与正整数 xx 之间的乘法运算:a⋅xa \cdot x 表示将 aa 重复书写 xx 次所得到的字符串。例如,"abc" ⋅ 2 =\cdot~2~= "abcabc","a" ⋅ 5 =\cdot~5~= "aaaaa"。

若存在整数 xx,使得 b⋅x=ab \cdot x = a,则称字符串 aa 可被字符串 bb 整除。例如,"abababab" 可被 "ab" 整除,但不能被 "ababab" 或 "aa" 整除。

两个字符串 ss 和 tt 的最小公倍式(记为 LCM(s,t)LCM(s, t))是指最短的非空字符串,它同时可被 ss 和 tt 整除。

给定两个字符串 ss 和 tt,请找出 LCM(s,t)LCM(s, t);若不存在,则报告不存在。可以证明:若 LCM(s,t)LCM(s, t) 存在,则其唯一。

输入格式

The first line contains one integer qq (1≤q≤20001 \le q \le 2000) — the number of test cases.

Each test case consists of two lines, containing strings ss and tt (1≤∣s∣,∣t∣≤201 \le |s|, |t| \le 20). Each character in each of these strings is either 'a' or 'b'.

第一行包含一个整数 qq(1≤q≤20001 \le q \le 2000)—— 表示测试用例的数量。

每个测试用例由两行组成,分别包含字符串 ss 和 tt(1≤∣s∣,∣t∣≤201 \le |s|, |t| \le 20)。这两个字符串中的每个字符均为 'a' 或 'b'。

输出格式

For each test case, print LCM(s,t)LCM(s, t) if it exists; otherwise, print -1. It can be shown that if LCM(s,t)LCM(s, t) exists, it is unique.

对于每个测试用例,如果 LCM(s,t)LCM(s, t) 存在,则输出 LCM(s,t)LCM(s, t);否则输出 -1。可以证明:若 LCM(s,t)LCM(s, t) 存在,则其唯一。

输入输出样例

  • 输入#1

    3
    baba
    ba
    aa
    aaa
    aba
    ab

    输出#1

    baba
    aaaaaa
    -1

说明/提示

In the first test case, "baba" = "baba" ⋅ 1 =\cdot~1~= "ba" ⋅ 2\cdot~2.

In the second test case, "aaaaaa" = "aa" ⋅ 3 =\cdot~3~= "aaa" ⋅ 2\cdot~2.

在第一个测试用例中,“baba” = “baba” ⋅ 1 =\cdot~1~= “ba” ⋅ 2\cdot~2。

在第二个测试用例中,“aaaaaa” = “aa” ⋅ 3 =\cdot~3~= “aaa” ⋅ 2\cdot~2。

输入解题思路,AI测评打分。不知道怎么写?

首页