1473B - String LCM - CodeForces Solution


brute force math number theory strings *1000

Please click on ads to support us..

Python Code:

import math
def lcm(s, k):
    res = ""
    while k > 0:
        res += s
        k -= 1
    return res
for _ in range(int(input())):
    s = input()
    t = input()
    n, m = len(s), len(t)
    g = math.gcd(n, m)
    x = lcm(s, m // g)
    y = lcm(t, n // g)
    if x == y:
      print(x)
    else:
      print(-1)

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long tt;
    cin>>tt;
    while(tt--)
    {
        long long m,n,i,j,k,l,p,q,r,lcm;
        string s1,s2,s3="",s4="";
        cin>>s1>>s2;
        p=s1.size();
        q=s2.size();
        r=__gcd(p,q);
        lcm=(p*q)/r;
        for(i=0;i<lcm/p;i++)
        {
            s3=s3+s1;
        }
        for(i=0;i<lcm/q;i++)
        {
            s4=s4+s2;
        }
        if(s3==s4)
        {
            cout<<s3<<endl;
        }
        else
            cout<<-1<<endl;
    }
}


Comments

Submit
0 Comments
More Questions

901A - Hashing Trees
1283A - Minutes Before the New Year
1654D - Potion Brewing Class
1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)
1151B - Dima and a Bad XOR
1435B - A New Technique
1633A - Div 7
268A - Games
1062B - Math
1294C - Product of Three Numbers
749A - Bachgold Problem
1486B - Eastern Exhibition
1363A - Odd Selection
131B - Opposites Attract