• 题意:给你两个字符串\(a\)和\(b\),找出它们的\(lcm\),即构造一个新的字符串\(c\),使得\(c\)可以由\(x\)个\(a\)得到,并且可以由\(y\)个\(b\)得到,输出\(c\),如果\(c\)不存在,输出\(-1\).
  • 题解:我们可以根据\(a\)和\(b\)的长度得出\(c\)的长度\(len_c\),而\(len_c\)一定是\(len_a\)和\(len_b\)的倍数, 我们就可以根据这个倍数关系构造出\(c\)(用\(a\)或者\(b\)构造都行,因为假如合法的话,它们两个一定都是满足的),然后跑个循环check一下就好了.
  • 代码:
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define me memset
#define rep(a,b,c) for(int a=b;a<=c;++a)
#define per(a,b,c) for(int a=b;a>=c;--a)
const int N = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 0x3f3f3f3f;
using namespace std;
typedef pair<int,int> PII;
typedef pair<ll,ll> PLL;
ll gcd(ll a,ll b) {return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b) {return a/gcd(a,b)*b;} int __;
string s,t; int main() {
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin>>__;
while(__--){
cin>>s>>t; int len1=(int)s.size();
int len2=(int)t.size(); if(len1<len2){
swap(s,t);
swap(len1,len2);
} int cur=lcm(len1,len2)/len2; string tmp=""; rep(i,1,cur){
tmp+=t;
} bool flag=true; int i=0;
while(i<(int)tmp.size()){
rep(j,0,len1-1){
if(tmp[i]!=s[j]){
flag=false;
break;
}
i++;
}
if(!flag) break;
} if(flag) cout<<tmp<<'\n';
else cout<<"-1\n"; } return 0;
}

最新文章

  1. MessageDialog
  2. js 判断浏览器和ie版本号 收集
  3. 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?为什么在类体内可以定义将静态成员声明为其所属类的类型呢 ?
  4. linux下设置SSH无密码登陆
  5. Codevs 3231 小吃
  6. bzoj2395
  7. CSS转载备忘
  8. 关于springboot启动时候报错:springboot Failed to parse configuration class [Application]
  9. js高程(二)-----继承
  10. 2017多校第9场 HDU 6170 Two strings DP
  11. Linux-day2-pdf课件
  12. LInux命令英文全称
  13. 未能加载文件或程序集“SuperMap.Data.dll”
  14. winSCP无法连接虚拟机Linux解决
  15. CentOS6.5下安装配置MySQL数据库
  16. MySQL5.6复制技术(3)-MySQL主从复制线程状态转变
  17. log4j介绍和使用
  18. MongoDB(课时11 嵌套集合)
  19. windows,linux,esxi系统判断当前主机是物理机还是虚拟机?查询主机序列号命令
  20. HTTP/1.0中,状态码200 301 304 403 404 500的含义?

热门文章

  1. SonarQube学习(五)- SonarQube之自定义规则使用
  2. 【MyBatis】MyBatis 延迟加载策略
  3. 安装SVN和汉化包及基本使用
  4. docker基础总结
  5. 2021新年 Vue3.0 + Element UI 尝鲜小记
  6. cut和tr命令的联合使用
  7. oracle创建恢复编录(recovery catalog)
  8. SGA: allocation forcing component growth分析
  9. Java入门者:如何写出美观的Java代码?
  10. 基于go-cqhttp实现QQ机器人