QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#235162#669. Hash8BQube#RE 246ms176592kbC++201.6kb2023-11-02 15:23:282023-11-02 15:23:29

Judging History

This is the latest submission verdict.

  • [2023-11-02 15:23:29]
  • Judged
  • Verdict: RE
  • Time: 246ms
  • Memory: 176592kb
  • [2023-11-02 15:23:28]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define X first
#define Y second
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define SZ(a) ((int)a.size())


ll w[100];
ll a, b;

ll sum = 0;
const int C = 1000000;
vector<pair<ll, string>> v, v0;
const string _s = "verylongstringtostartwith";
string s;

void gen(int i, int bs) {
    if (i == 25) {
        v.pb({sum, s});
        return;
    }
    while (SZ(v) < C) {
        if (s[i] > 'z') {
            s[i] = 'a'; 
            return;
        }
        sum = (sum + (s[i] - 'a' + 1) * w[i + bs]) % b;
        gen(i + 1, bs);
        sum = (sum - (s[i] - 'a' + 1) * w[i + bs] % b + b) % b;
        ++s[i];
    }
}

ll cal(string t) {
    ll h = 0;
    for (char c : t)
        h = (h * a + (c - 'a' + 1)) % b;
    return h;
}

int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    assert(SZ(_s) == 25);
    cin >> a >> b;
    w[49] = 1;
    for (int i = 48; i >= 0; i--)
        w[i] = w[i + 1] * a % b;

    s = _s;
    v.clear();
    sum = 0;
    
    gen(0, 0);
    v0 = v;
    sort(ALL(v0));

    s = _s;
    v.clear();
    sum = 0;
    gen(0, 25);

    vector<string> ans;
    for (auto &p : v) {
        if (SZ(ans) == 100)
            break;
        ll need = (-p.X + b) % b;        
        int i = lower_bound(ALL(v0), pair<ll, string>(need, "")) - v0.begin(); 
        while (i < SZ(v0) && v0[i].X == need && SZ(ans) < 100)
            ans.pb(v0[i].Y + p.Y), i++;
    }
    assert(SZ(ans) == 100);

    for (auto x : ans) {
        assert(cal(x) == 0);
        cout << x << endl;
    }



    
}

详细

Test #1:

score: 100
Accepted
time: 242ms
memory: 174868kb

input:

215465827 841597626

output:

verylongstringtostarvfojcverylongstringtostartwkam
verylongstringtostaruahuiverylongstringtostartwmei
verylongstringtostarvmtpgverylongstringtostartwnfy
verylongstringtostarudrghverylongstringtostartwnna
verylongstringtostarvwcbsverylongstringtostartwoxo
verylongstringtostarvjpmbverylongstringtostar...

result:

ok correct

Test #2:

score: 0
Accepted
time: 239ms
memory: 174860kb

input:

87821275 695794846

output:

verylongstringtostaruzpizverylongstringtostartwius
verylongstringtostartxbllverylongstringtostartwiws
verylongstringtostaruaxqaverylongstringtostartwjpe
verylongstringtostarvsrcaverylongstringtostartwlht
verylongstringtostarwacgwverylongstringtostartwpmk
verylongstringtostarvaezfverylongstringtostar...

result:

ok correct

Test #3:

score: 0
Accepted
time: 246ms
memory: 174864kb

input:

98719298 146340429

output:

verylongstringtostartykikverylongstringtostartwixk
verylongstringtostarukkroverylongstringtostartwjar
verylongstringtostarvzertverylongstringtostartwjna
verylongstringtostarualdqverylongstringtostartwjnd
verylongstringtostaruzytpverylongstringtostartwjoo
verylongstringtostarulbxeverylongstringtostar...

result:

ok correct

Test #4:

score: 0
Accepted
time: 232ms
memory: 175960kb

input:

15492641 38249394

output:

verylongstringtostarvhzzeverylongstringtostartwivw
verylongstringtostarvqyzzverylongstringtostartwjba
verylongstringtostarvlprhverylongstringtostartwjen
verylongstringtostarvfynsverylongstringtostartwjez
verylongstringtostartzwywverylongstringtostartwjfh
verylongstringtostarvanywverylongstringtostar...

result:

ok correct

Test #5:

score: 0
Accepted
time: 239ms
memory: 174816kb

input:

683712340 834646372

output:

verylongstringtostarumzibverylongstringtostartwixd
verylongstringtostaruxkedverylongstringtostartwjqh
verylongstringtostaruuqcjverylongstringtostartwkop
verylongstringtostarurwapverylongstringtostartwlmx
verylongstringtostarvzsgfverylongstringtostartwnwp
verylongstringtostarvwyelverylongstringtostar...

result:

ok correct

Test #6:

score: 0
Accepted
time: 236ms
memory: 175008kb

input:

73354628 375349316

output:

verylongstringtostarugsylverylongstringtostartwjdd
verylongstringtostarvemecverylongstringtostartwjgl
verylongstringtostarvhitrverylongstringtostartwjmh
verylongstringtostarukuraverylongstringtostartwjul
verylongstringtostarumkeyverylongstringtostartwkox
verylongstringtostarvwvlvverylongstringtostar...

result:

ok correct

Test #7:

score: 0
Accepted
time: 239ms
memory: 176216kb

input:

303404592 713231404

output:

verylongstringtostarufasrverylongstringtostartwixd
verylongstringtostarurcwaverylongstringtostartwjrd
verylongstringtostarvsltuverylongstringtostartwkmx
verylongstringtostarvmoxoverylongstringtostartwkvh
verylongstringtostarvkfxeverylongstringtostartwlmp
verylongstringtostaruqbtvverylongstringtostar...

result:

ok correct

Test #8:

score: 0
Accepted
time: 214ms
memory: 176592kb

input:

167034378 236389306

output:

verylongstringtostarvcxlbverylongstringtostartwivb
verylongstringtostarugsubverylongstringtostartwjkx
verylongstringtostarvpnmcverylongstringtostartwjqv
verylongstringtostaruhczyverylongstringtostartwjzv
verylongstringtostarvcwcjverylongstringtostartwknp
verylongstringtostarvpyggverylongstringtostar...

result:

ok correct

Test #9:

score: 0
Accepted
time: 240ms
memory: 176476kb

input:

766140714 938414751

output:

verylongstringtostarugrxrverylongstringtostartwjer
verylongstringtostarvqqehverylongstringtostartwjhf
verylongstringtostarvnxsuverylongstringtostartwlic
verylongstringtostarvmkihverylongstringtostartwmil
verylongstringtostarvjrwuverylongstringtostartwoji
verylongstringtostarviemhverylongstringtostar...

result:

ok correct

Test #10:

score: -100
Runtime Error

input:

123902624 447659104

output:


result: