Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>using namespace std;int main() {bool tb[256] = {false};int ca[256] = {0}, cb[256] = {0};string sa, sb, stemp;int count = 0, minReCount = 0;cin >> sa >> sb;stemp = sa;for (int i = 0; i < sb.size(); i++) {tb[sb[i]] = true;cb[sb[i]]++;}for (int i = 0; i < sa.size(); i++) {tb[sa[i]] = false;ca[sb[i]]++;}for (int i = 0; i < 256; i++)if (tb[i]) {cout << -1 << endl;return 0;} else if (ca[i] > 0) {minReCount = max(minReCount, cb[i] / ca[i]);}for (int i = 0; i < minReCount; i++)sa += stemp;count += minReCount;while (true) {int i, j;