[Offer收割]编程练习赛87 register

Ended

Participants:55

Verdict:Time Limit Exceeded
Score:50 / 100
Submitted:2018-12-16 14:14:45

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX