QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#235162 | #669. Hash | 8BQube# | RE | 246ms | 176592kb | C++20 | 1.6kb | 2023-11-02 15:23:28 | 2023-11-02 15:23:29 |
Judging History
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