QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#353696#6749. TargetCCA#AC ✓0ms4076kbC++141.2kb2024-03-14 15:00:572024-03-14 15:00:58

Judging History

你现在查看的是最新测评结果

  • [2024-03-14 15:00:58]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:4076kb
  • [2024-03-14 15:00:57]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

const int N = 26, B = 1e4;

double a, b;
int st[20000], way[20000];

void dfs1 (double now, int step, int S) {
    // printf("> %lf %d %d\n", now, step, S);
    if (step >= 25) return;
    if (fabs(now - b) <= 0.0001) {
        // puts("A");
        for (int i = 0; i < step; i++)
            (S & (1 << i)) ? printf("2") : printf("1");
        exit(0);
    }
    if (step >= st[(int)(now * B)] && st[(int)(now * B)] != 0) return;
    st[(int)(now * B)] = step;
    way[(int)(now * B)] = S;
    dfs1(now / 2, step + 1, S);
    dfs1((now + 1) / 2, step + 1, S ^ (1 << step));
}

void dfs2 (double now, int step, int S) {
    if (step >= 25) return;
    if (st[(int)(now * B)] > 0) {
        // puts("B");
        for (int i = 0; i < st[(int)(now * B)]; i++)
            (way[(int)(now * B)] & (1 << i)) ? printf("2") : printf("1");
        for (int i = step - 1; i >= 0; i--)
            (S & (1 << i)) ? printf("2") : printf("1");
        exit(0);
    }
    if (now <= 0.5) dfs2(now * 2, step + 1, S);
    if (now >= 0.5) dfs2(now * 2 - 1, step + 1, S ^ (1 << step));
}

int main () {
    cin >> a >> b;
    dfs1(a, 0, 0);
    dfs2(b, 0, 0);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3848kb

input:

0.5 0.25

output:

1

result:

ok ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 3904kb

input:

1 0.75

output:

11111111111122

result:

ok ok

Test #3:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

1 0

output:

11111111111111

result:

ok ok

Test #4:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.361954 0.578805

output:

111111111111221111212112

result:

ok ok

Test #5:

score: 0
Accepted
time: 0ms
memory: 4008kb

input:

0.144888 0.140086

output:

111111111112212222111211

result:

ok ok

Test #6:

score: 0
Accepted
time: 0ms
memory: 3900kb

input:

0.514397 0.969399

output:

111111111111221111122222

result:

ok ok

Test #7:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

0.887873 0.402213

output:

111111111112222212211221

result:

ok ok

Test #8:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.152004 0.176414

output:

111111111112121121221211

result:

ok ok

Test #9:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

0.401831 0.860762

output:

11111111111122111222122

result:

ok ok

Test #10:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.580629 0.869474

output:

111111111111211212222122

result:

ok ok

Test #11:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.138673 0.508844

output:

111111111112112111112

result:

ok ok

Test #12:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.027182 0.263243

output:

111111111211122122111121

result:

ok ok

Test #13:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

0.081714 0.212216

output:

1111111111212112212211

result:

ok ok

Test #14:

score: 0
Accepted
time: 0ms
memory: 4076kb

input:

0.562775 0.388603

output:

1111111111111222111221

result:

ok ok

Test #15:

score: 0
Accepted
time: 0ms
memory: 3948kb

input:

0.112949 0.147503

output:

111111111112112221211211

result:

ok ok

Test #16:

score: 0
Accepted
time: 0ms
memory: 4016kb

input:

0.800247 0.150903

output:

111111111111121212211211

result:

ok ok

Test #17:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

0.300103 0.584619

output:

111111111111221221212112

result:

ok ok

Test #18:

score: 0
Accepted
time: 0ms
memory: 4012kb

input:

0.844720 0.070148

output:

111111111111222221112111

result:

ok ok

Test #19:

score: 0
Accepted
time: 0ms
memory: 3956kb

input:

0.573320 0.123035

output:

1111111111111222222111

result:

ok ok

Test #20:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

0.467281 0.231366

output:

11111111111112122122211

result:

ok ok

Test #21:

score: 0
Accepted
time: 0ms
memory: 3940kb

input:

0.264769 0.373434

output:

111111111112211222222121

result:

ok ok

Test #22:

score: 0
Accepted
time: 0ms
memory: 3944kb

input:

0.689729 0.570712

output:

111111111111121112112112

result:

ok ok

Test #23:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

0.747218 0.312573

output:

11111111111112121

result:

ok ok

Test #24:

score: 0
Accepted
time: 0ms
memory: 3916kb

input:

0.215052 0.203677

output:

11111111111121111212211

result:

ok ok

Test #25:

score: 0
Accepted
time: 0ms
memory: 4072kb

input:

0.607834 0.733102

output:

111111111111221222122212

result:

ok ok

Test #26:

score: 0
Accepted
time: 0ms
memory: 3908kb

input:

0.516860 0.252876

output:

11111111111112211111121

result:

ok ok

Test #27:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

0.955285 0.457773

output:

111111111111221121212221

result:

ok ok

Test #28:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

0.156178 0.353262

output:

11111111111222112122121

result:

ok ok

Test #29:

score: 0
Accepted
time: 0ms
memory: 3932kb

input:

0.398701 0.040258

output:

111111111111212112121111

result:

ok ok

Test #30:

score: 0
Accepted
time: 0ms
memory: 3936kb

input:

0.973859 0.000184

output:

111111111111

result:

ok ok

Test #31:

score: 0
Accepted
time: 0ms
memory: 3920kb

input:

0.882213 0.556709

output:

11111111111111212221112

result:

ok ok

Test #32:

score: 0
Accepted
time: 0ms
memory: 3900kb

input:

0.263822 0.460984

output:

1111111111112212221

result:

ok ok

Test #33:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

0.443432 0.034841

output:

111111111111222211121111

result:

ok ok