QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#606187 | #9285. Construct The Integer | yzj123# | WA | 1ms | 3688kb | C++20 | 1.9kb | 2024-10-02 22:59:19 | 2024-10-02 22:59:20 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
using namespace std;
int read()
{
int res = 0, bj = 1;
char ch = getchar();
while (ch < '0' || ch > '9')
{
if (ch == '-') bj = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
res = res * 10 + ch - '0';
ch = getchar();
}
return res * bj;
}
int gcd(int x, int y)
{
if (y == 0) return x;
return gcd(y, x % y);
}
int d[100];
int b[100], num[1000000], vis[1000000], ans[105];
void dfs(int dep)
{
if (dep == 0)
{
int x = 0;
for (int i = 1; i <= b[0]; i++) x = x * 10 + d[b[i]];
num[++num[0]] = x;
cout << x << "\n";
}
for (int i = 1; i <= d[0]; i++)
{
if (!vis[i])
{
vis[i] = 1;
b[++b[0]] = i;
dfs(dep - 1);
b[0]--;
vis[i] = 0;
}
}
}
int calc(int p)
{
int x = p;
d[0] = 0;
while (x)
{
d[++d[0]] = x % 10;
x /= 10;
}
// for (int i = 1; i <= d[0]; i++) cout << d[i] << " ";
// cout << "\n";
b[0] = num[0] = 0;
for (int i = 1; i <= d[0]; i++) vis[i] = 0;
dfs(d[0]);
int g = 0;
for (int i = 1; i <= num[0]; i++) g = gcd(g, num[i]);
return g;
}
signed main()
{
ans[12] = 48, ans[15] = 5055, ans[18] = 288, ans[21] = 7077;
ans[24] = 8088, ans[27] = 3699, ans[45] = 5055555555, ans[36] = 48888, ans[63] = 111888;
ans[72] = 8088888888;
// cout << calc(84) << "\n";
int T;
cin >> T;
while (T--)
{
int x = read();
if (x < 10) cout << x << "\n";
else if (x < 100 && ans[x]) cout << ans[x] << "\n";
else
{
int d[100] = {0};
int y = x;
while (y)
{
d[++d[0]] = y % 10;
y /= 10;
}
int fl = 0;
for (int i = 2; i <= d[0]; i++)
if (d[i] != d[i - 1]) {
fl = 1;
break;
}
if (fl == 0) cout << x << "\n";
else cout << -1 << "\n";
}
}
// long long x = 8088888888;
// cout << x % 72 << "\n";
// for (int i = 10; i <= 99; i++) cout << "i:" << i << " " << ans[i] << "\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3568kb
input:
2 12 2021
output:
48 -1
result:
ok 2 number(s): "48 -1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
50 162281868021198482 843590795441798975 22222 149588437607469906 802011151087104980 6059547534408460 24 666666 2 76 29 44 6666666 333333 694875412087041404 203911016125660313 33333333333333333 621646568444724049 363434583954291856 33333333333333 7777777777777777 308242055812053607 65243634304254533...
output:
-1 -1 22222 -1 -1 -1 8088 666666 2 -1 -1 44 6666666 333333 -1 -1 33333333333333333 -1 -1 33333333333333 7777777777777777 -1 -1 -1 888 -1 4444444444 -1 3333333333333333 88888888 888888888888 88 -1 3333333333333 -1 555 -1 48888 222222222222 -1 -1 -1 -1 -1 -1 -1 11 -1 -1 55555555555555555
result:
ok 50 numbers
Test #3:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
50 841731922341882973 172755266467187037 129493702112701195 90 273793122414069242 593694707008455288 502545216673419533 721595990997982386 93377610984612549 87 863812025013802109 234122432773362066 123027939432443575 88888 47 222222222222222222 852841820206347862 74 423472610938208849 94 15762310812...
output:
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 88888 -1 222222222222222222 -1 -1 -1 -1 -1 -1 -1 22222222 -1 -1 -1 -1 -1 -1 -1 -1 333333333333333 -1 -1 -1 1111111111111111 -1 -1 -1 4 333333333 -1 33333333 -1 1 444444444444444444 5055 -1 4444444444444444
result:
ok 50 numbers
Test #4:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
50 66666666 89 11111111111111111 89013034181000726 33 285627919192884437 8888888888 425171425350891250 71 7 987944414171602593 301305598619697018 193193702519217107 413499651741453076 476551385483571548 13 668044926137832393 66666666666666 536187734191891003 386045016440405474 592806051753396502 805...
output:
66666666 -1 11111111111111111 -1 33 -1 8888888888 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 66666666666666 -1 -1 -1 -1 4444444 666666666666666 -1 -1 -1 666666666666666666 -1 -1 -1 -1 -1 33 -1 -1 -1 -1 77777777777 -1 -1 8888888 -1 -1 -1 -1 -1 -1 -1 66
result:
ok 50 numbers
Test #5:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
50 21839873092357856 640219260799980486 522525742014723888 725988133037119616 290913044663852094 555555 333 85 11111111 631169318889705610 555555555555 69 323842199157642120 333333333333333333 78 4444444444444 99 11111111111 174059246927999752 377574503599716306 777777777 45 77777777777777 471255439...
output:
-1 -1 -1 -1 -1 555555 333 -1 11111111 -1 555555555555 -1 -1 333333333333333333 -1 4444444444444 99 11111111111 -1 -1 777777777 5055555555 77777777777777 -1 -1 -1 -1 -1 666 -1 3699 11111 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 222222 777
result:
ok 50 numbers
Test #6:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
50 134845565732593935 935387048910748709 664860202421625603 111111111111 94225248889089695 879054556667480931 83 256931203846046588 92 3333333333 643572951492602142 49 822981260158260819 82526944128792584 77 179102579989215254 444444444444444 903288965370689433 799584023203226863 495718727325977077 ...
output:
-1 -1 -1 111111111111 -1 -1 -1 -1 -1 3333333333 -1 -1 -1 -1 77 -1 444444444444444 -1 -1 -1 9 55555555555 66666666666 -1 -1 7077 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 444444444444 111111111111111111 -1 777777 -1 1111111 -1 -1 -1 5555555 -1 -1
result:
ok 50 numbers
Test #7:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
50 521060787741107580 23 676105575462225385 381451598031262925 163853609803189968 6666666666 444444444 5413279537561410 8888 627586599810900678 26 42 55555555555555 43 916143781173401889 84324828731964774 57 502764983190081253 563324731189331234 53 993638134797830048 3 52966605322057444 333333333333...
output:
-1 -1 -1 -1 -1 6666666666 444444444 -1 8888 -1 -1 -1 55555555555555 -1 -1 -1 -1 -1 -1 -1 -1 3 -1 333333333333 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 11111111111111 -1 -1 -1 44444444 -1 -1 -1
result:
ok 50 numbers
Test #8:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
50 888888888888888 56 877835694720649559 952720572201731456 335408917861649366 66666 2222222222222 2222222222222222 60 787629613935422754 776076510839296560 630192867080657053 88888888888 77 371026816893229896 540950482791116710 1111 438538728083004091 1111111111111 692477168467510300 14875591187121...
output:
888888888888888 -1 -1 -1 -1 66666 2222222222222 2222222222222222 -1 -1 -1 -1 88888888888 77 -1 -1 1111 -1 1111111111111 -1 -1 -1 111 444 -1 44444444444 -1 -1 -1 55555555 222 7777777777 -1 555555555555555555 -1 -1 -1 66 -1 3333 -1 -1 77777777 -1 22222222222 -1 -1 -1 8088888888 -1
result:
ok 50 numbers
Test #9:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
50 59 51 661302813816248549 22 192583020404011827 17 44444444444444 91 586662754350034562 398400101471708497 101765673897273715 950257034940091202 675282347327966568 262324075672299484 55 116841977139981012 907267074306890738 731741654713115120 33333333333 95 111111111 49465410047628729 676526945279...
output:
-1 -1 -1 22 -1 -1 44444444444444 -1 -1 -1 -1 -1 -1 -1 55 -1 -1 -1 33333333333 -1 111111111 -1 -1 88888888888888 -1 666666666666 -1 7777 -1 -1 -1 666666666 -1 -1 -1 -1 -1 -1 6666666666666 -1 -1 -1 6 -1 3333333 -1 -1 -1 -1 5
result:
ok 50 numbers
Test #10:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
50 52 575309381208032699 5555555555555 266726083774034829 542826291792345757 7777777 851387910588959345 769483004587345130 66666666666666666 444444 753084815602287766 21314793613364329 555555555555555 5555 55555 802650828045480305 59132663174616906 18 107332661275127473 33333 22222222222222 70482262...
output:
-1 -1 5555555555555 -1 -1 7777777 -1 -1 66666666666666666 444444 -1 -1 555555555555555 5555 55555 -1 -1 288 -1 33333 22222222222222 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 44444 -1 -1 -1 -1 -1 555555555 -1 -1 8888888888888888 -1 -1 -1 -1 -1 -1 -1
result:
ok 50 numbers
Test #11:
score: -100
Wrong Answer
time: 0ms
memory: 3624kb
input:
50 777777777777777 838885201040309576 7777777777777 349993004923079131 961905130001849922 44 888888888 494205937842636532 88 665229069533206603 676042795298310688 704087678909665196 148049062628894820 81 58 615812229161736595 758551024807498420 819875141880896223 922348607469188267 8888888888888 168...
output:
777777777777777 -1 7777777777777 -1 -1 44 888888888 -1 88 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 8888888888888 -1 -1 -1 -1 2222 -1 -1 888888888888888888 -1 5555555555 5555555555555555 -1 -1 -1 -1 -1 -1 -1 -1 111111111111111 -1 777777777777777777 -1 -1 77777 -1 99 -1 55 -1
result:
wrong answer 14th numbers differ - expected: '9099999999', found: '-1'