QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#497326 | #3098. Ancient Machine | bykem | 5 | 40ms | 9976kb | C++20 | 1.9kb | 2024-07-28 23:17:34 | 2024-07-28 23:17:34 |
Judging History
Anna
#include "Anna.h"
using namespace std;
using ull = unsigned long long;
const int kS = 80, kB = 56;
ull af[kS];
auto init_af = []() {
af[0] = 1, af[1] = 2;
for (int i = 2; i < kS; ++i) {
af[i] = af[i - 1] + af[i - 2];
}
return 0;
}();
void Anna(int n, vector<char> s) {
s.push_back('X');
vector<int> v;
bool fx = 1;
for (int i = 0; i < n; ++i) {
char c = s[i];
if (fx) {
v.push_back(c == 'X');
fx &= c != 'X';
} else {
v.push_back(c == 'Z' && s[i + 1] != 'Z');
}
}
for (; v.size() % kS; v.push_back(0)) {
}
for (int i = 0; i < n; i += kS) {
ull fs = 0;
for (int j = 0; j < kS; ++j) {
fs += v[i + j] * af[kS - 1 - j];
}
for (int j = 0; j < kB; ++j) {
Send(fs >> j & 1);
}
}
}
Bruno
#include "Bruno.h"
using namespace std;
using ull = unsigned long long;
const int kS = 80, kB = 56;
ull bf[kS];
auto init_bf = []() {
bf[0] = 1, bf[1] = 2;
for (int i = 2; i < kS; ++i) {
bf[i] = bf[i - 1] + bf[i - 2];
}
return 0;
}();
void remove(int n, int d) {
if (d < n) {
Remove(d);
}
}
void Bruno(int n, int la, vector<int> a) {
bool fx = 1;
vector<int> s;
for (int i = 0, ri = 0; i < la; i += kB, ri += kS) {
ull fs = 0;
for (int j = 0; j < kB; ++j) {
fs |= (ull)a[i + j] << j;
}
for (int j = kS - 1; j >= 0; --j) {
int rj = ri + kS - 1 - j;
bool v = fs >= bf[j];
fs -= v * bf[j];
if (fx) {
if (!v) {
remove(n, rj);
} else {
s.push_back(rj);
fx = 0;
}
} else {
if (v) {
for (; s.size() > 1; remove(n, s.back()), s.pop_back()) {
}
remove(n, rj);
} else {
s.push_back(rj);
}
}
}
}
for (int i : s) {
remove(n, i);
}
}
詳細信息
Subtask #1:
score: 5
Accepted
Test #1:
score: 100
Accepted
time: 0ms
memory: 3804kb
input:
18 Y X Y Z X Z X X Z Z Y Y Z Y Y Z X X
output:
56 01011001101111100100111111101100001001001010011010000001
input:
56 01011001101111100100111111101100001001001010011010000001
output:
0 56 3
result:
ok n = 18, D = 56, L = 3
Test #2:
score: 100
Accepted
time: 0ms
memory: 3808kb
input:
18 X Z X Y Y Y X Z X Y Z Z Z Z Y Z Z Y
output:
56 01000011001111000011001001100000100101111000001101111011
input:
56 01000011001111000011001001100000100101111000001101111011
output:
0 56 3
result:
ok n = 18, D = 56, L = 3
Test #3:
score: 100
Accepted
time: 0ms
memory: 3740kb
input:
18 Y Z Z Y Z X X Z Y Y Z Z Z Y X X Z Y
output:
56 11000011010110001001100100011010011111010000001010001000
input:
56 11000011010110001001100100011010011111010000001010001000
output:
0 56 2
result:
ok n = 18, D = 56, L = 2
Test #4:
score: 100
Accepted
time: 0ms
memory: 3788kb
input:
18 X Z Z X Z X X Z X Y Y X X Z X Y Z X
output:
56 11110110110011011101100001001101100101010111100101001011
input:
56 11110110110011011101100001001101100101010111100101001011
output:
0 56 2
result:
ok n = 18, D = 56, L = 2
Test #5:
score: 100
Accepted
time: 0ms
memory: 4036kb
input:
18 X Y X Y Y X X Z Y Z Y X Z Y Y X X Z
output:
56 00001010100000010001010101000110011000110001111010110001
input:
56 00001010100000010001010101000110011000110001111010110001
output:
0 56 5
result:
ok n = 18, D = 56, L = 5
Test #6:
score: 100
Accepted
time: 0ms
memory: 3808kb
input:
18 X X Y Z X Y Y Y X X Z X X X Z X Z Z
output:
56 11010010111110101001100001111000101111101011010111100101
input:
56 11010010111110101001100001111000101111101011010111100101
output:
0 56 2
result:
ok n = 18, D = 56, L = 2
Test #7:
score: 100
Accepted
time: 0ms
memory: 3864kb
input:
3 X Y Z
output:
56 11111011000100100011110000000101100101100110000001011101
input:
56 11111011000100100011110000000101100101100110000001011101
output:
0 56 1
result:
ok n = 3, D = 56, L = 1
Test #8:
score: 100
Accepted
time: 0ms
memory: 3816kb
input:
3 Z Y X
output:
56 10111110110010010011100100011011010000010101011011001100
input:
56 10111110110010010011100100011011010000010101011011001100
output:
0 56 0
result:
ok n = 3, D = 56, L = 0
Test #9:
score: 100
Accepted
time: 0ms
memory: 4068kb
input:
18 X X X X X X X X X X X X X X X X X X
output:
56 01000110101011011111100111100011011001111101100101100001
input:
56 01000110101011011111100111100011011001111101100101100001
output:
0 56 0
result:
ok n = 18, D = 56, L = 0
Test #10:
score: 100
Accepted
time: 0ms
memory: 3788kb
input:
18 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
output:
56 00000000000000000000000000000000000000000000000000000000
input:
56 00000000000000000000000000000000000000000000000000000000
output:
0 56 0
result:
ok n = 18, D = 56, L = 0
Test #11:
score: 100
Accepted
time: 0ms
memory: 4056kb
input:
18 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z
output:
56 00000000000000000000000000000000000000000000000000000000
input:
56 00000000000000000000000000000000000000000000000000000000
output:
0 56 0
result:
ok n = 18, D = 56, L = 0
Subtask #2:
score: 0
Wrong Answer
Test #12:
score: 100
Accepted
time: 32ms
memory: 9860kb
input:
100000 X Z X Z Z X Y Z Y X Y X Z Z Z Y X Z Y X Y Y X Y Y Y Z Y Z Z Y X X Y X X Y Y X X X Z Y Y Y Z Z Z Z Y X Y Y Z Z Z X Y Z X X X X Y X Y X X Z X Z Z Z X Y X X X Z X Z X X X Y Y Y Y Z X X Y Z Y Y X Z X Z Z Z Z Z Y Z Y X Y Y Y Y X Z Z Y Z Z Y Z Z Z X Z Z X X Z Z Z Z X X Z Y Y Z Y Y Z Z Y Y Z Y Z Y Z...
output:
70000 100100001000010000100011111001010001111001100010010011111100100010110111111111110100110111000010101011111001000100010100110111010010101010010010111111001000001100101100000110111111110101100001011001100101011111110101111010001100011011010011010101101100001100110110101010100001100111010010001010...
input:
70000 100100001000010000100011111001010001111001100010010011111100100010110111111111110100110111000010101011111001000100010100110111010010101010010010111111001000001100101100000110111111110101100001011001100101011111110101111010001100011011010011010101101100001100110110101010100001100111010010001010...
output:
0 70000 22133
result:
points 1.0 n = 100000, D = 70000, L = 22133
Test #13:
score: 100
Accepted
time: 32ms
memory: 9868kb
input:
100000 Z X X Y Z Z Z Y Z X Y Y Z X X Z Z Z Y Z X Y X Y X Z Y X Z X Y X Y Y Z X X Z X Z Y Z Y Z Z Z Y X Z X Z Y Y Y Z Y Z Y Z X Y X Z Z X Y X Y Z X Y Z Y X Y X X Z Z X Z X X Z X X X X Y X X Z Z X Y Y Y Y X Y X X Z Y Z Y Y Z X X Z Z Y Y X Z Y Y X Y Z Y Z Y Y Z Z X Z Y Z Z Z X Y Z Z X X X X Z Y X Y Y Z...
output:
70000 011011011011011011100110111000110001011111100000011110101000101100010000010100011001010000011000111100110110010110010011110011110010000001000101111001001000001111001010000100111000001000010000000110111101101000011100101111001111010000011101010000010010011010100110111100100101100011000010110010...
input:
70000 011011011011011011100110111000110001011111100000011110101000101100010000010100011001010000011000111100110110010110010011110011110010000001000101111001001000001111001010000100111000001000010000000110111101101000011100101111001111010000011101010000010010011010100110111100100101100011000010110010...
output:
0 70000 22275
result:
points 1.0 n = 100000, D = 70000, L = 22275
Test #14:
score: 100
Accepted
time: 20ms
memory: 9900kb
input:
100000 X Z Y X Z X X Z Y Z Y Y Y Z Y Z X X Z X X Y Z X X Z Y X Y Y Z X Z Y Z X X X X Z X Y X Z X Z X X X Y X Y Z Z Z Z Z Z Z Z Y X Y Z X Z Y Z Y X Y Z Y Z Y X Y Z X Z Z Z Y X Y Y X X X X Y X X Y Z Z X Z Y Z Z Y X Y X Z Z Z X X Z X Z Z Z Z Y X Z Z X X Z Z Y X X Y Y Y X Y Y Y X X Y Y Z X Z Y Y X X Y Z...
output:
70000 100000011111110110101111000111111001100111011100001011110101011100100101101011001011101001110101011010101100101011101011010011111000000000110111110111111111110010110000101010101011010110000110111011111111011001000110000111001011010110100110011011101111100010011010000000100100100011100110111111...
input:
70000 100000011111110110101111000111111001100111011100001011110101011100100101101011001011101001110101011010101100101011101011010011111000000000110111110111111111110010110000101010101011010110000110111011111111011001000110000111001011010110100110011011101111100010011010000000100100100011100110111111...
output:
0 70000 22177
result:
points 1.0 n = 100000, D = 70000, L = 22177
Test #15:
score: 100
Accepted
time: 40ms
memory: 9736kb
input:
100000 Y Z X X X Y Y Y Z Y Z X Z X X Z X X Z X X Z Z X Z Z Z Z X X X Z X Y X X Y X Y X Z Y X Z Y Z Y Y Y Y Z Y Z X X X X Y Y Z Y X Y X Y Y Z X Z Z Y Z Z Y X X Z Y Y Y Z Y X Y Y Y Y Z Z Y Z X X Y X Z Z Y X Y Y X Z Y X Y Y Y Z Y X X Y X Z X Y X X X Y Y Y Y Y X Z Z Y Z X Y Y X X X X Z Z X X X Y Z X Z X...
output:
70000 101111110000101110100100001001011101011011010111111011000001001001111111100100001111111011000100010001010101000111000111111101001010100001101101010100000000111001011001000011001111110110110101110011101101001011000010010101100100001100111110010010101100001111011111111100101100011010011110101010...
input:
70000 101111110000101110100100001001011101011011010111111011000001001001111111100100001111111011000100010001010101000111000111111101001010100001101101010100000000111001011001000011001111110110110101110011101101001011000010010101100100001100111110010010101100001111011111111100101100011010011110101010...
output:
0 70000 22192
result:
points 1.0 n = 100000, D = 70000, L = 22192
Test #16:
score: 100
Accepted
time: 40ms
memory: 9760kb
input:
100000 Z Z X Y Z Z Z Z Y X Y Y Z X Y Y Y Z X X Z X X X Z Y X X Z Y X X Y Y Z Y Y Z Z Y Z Z Y Y X X Z X Y Y Z Z Y Z X X Y X Z X X Y Z Z Y X X Z Z Z Y Z Z X X Z X Z Z Z Y X X Z Z X X X Z X X Z Y X X Y X Y Z X Y Z Z X X X Y Y Z Z Z Z X X X X Y X Z X Z X X Z X Y X Z Z X Y X X Z Z X X Y X Z Z Z Z X Y Y Y...
output:
70000 001010011011100110111000001010010010110100100001000111000001000111100111000010000011100010010100101011001110100010111101011000101100110000101100010001010110011011000000001011111010100011011111101101010000000101000100000110100101000110001100011101100100101000001011010110101110001010101101011001...
input:
70000 001010011011100110111000001010010010110100100001000111000001000111100111000010000011100010010100101011001110100010111101011000101100110000101100010001010110011011000000001011111010100011011111101101010000000101000100000110100101000110001100011101100100101000001011010110101110001010101101011001...
output:
0 70000 22119
result:
points 1.0 n = 100000, D = 70000, L = 22119
Test #17:
score: 100
Accepted
time: 32ms
memory: 9976kb
input:
100000 X X Y Y Y Y X Z Z X Y Y X Y X Z Y Y Y Y X X Y X X Y Y X Z X Z Z Z Y Z Y Y Y X Y Y Z Y Z X Z Y Z Z X Z Z X Z Y Z Z Z Y Z X Y Y Y X Y Y Y X X X X X Z X Y X Z Y Y Z X Z Z X Y X X X Z Z Z X X X X Z Y X X Y Z X Z Z X X Y X Z Z Y X X X Y X X X X Z Y Z X X X Z X Z Z Y Y Y Z Y Y X Z Y Y X Y Y X Y X X...
output:
70000 010110110110110001111111011100110111110101001001100100010001101100100110111110010101000100001010100001001110010100100011101101111111110111000111111111100011110011001010111111100011110010101101010000111001010100011001001011000001011111001000100010110001000000111000010010000000001001111101011000...
input:
70000 010110110110110001111111011100110111110101001001100100010001101100100110111110010101000100001010100001001110010100100011101101111111110111000111111111100011110011001010111111100011110010101101010000111001010100011001001011000001011111001000100010110001000000111000010010000000001001111101011000...
output:
0 70000 22256
result:
points 1.0 n = 100000, D = 70000, L = 22256
Test #18:
score: 100
Accepted
time: 32ms
memory: 9772kb
input:
100000 X Z Z X Z X Z Z X X X Z Z Y Y Z Y Y Z Z Y X X Y Y Z Y Y Y Y Y Z X Y X Y X Z Z X Y X Z Z Y Z Y Z X Z Y Y Y Y Z X X Y X X X X Y Y Z Z X Y X Y Z Y Y Y Z X Y Y X Z Y Y Z Z X Y Y Y Y Y Y X Z Y X Z X Y Y Z Z X Z Z X Z Z Z X X Y X Y Z Z X X Y X Z Z Z X X Y Z X Z Y Z Z X X X X X Z Y X Y Z X Z X Z Z X...
output:
70000 001111001001111011100010001000000001100010101011010010110010010001110110010101111011110011110000011100100000010001111001010110000111110011000111110110001010011001101100101010010011111011111001010110110101101100011011111100000000110001000111101011011110110111100111111001010101011001110000111001...
input:
70000 001111001001111011100010001000000001100010101011010010110010010001110110010101111011110011110000011100100000010001111001010110000111110011000111110110001010011001101100101010010011111011111001010110110101101100011011111100000000110001000111101011011110110111100111111001010101011001110000111001...
output:
0 70000 22071
result:
points 1.0 n = 100000, D = 70000, L = 22071
Test #19:
score: 100
Accepted
time: 28ms
memory: 9868kb
input:
100000 X Z X Y Z Z X Y X X Y Y X Z Z X Z X X X Z Y Z X X X X Y Z Y Y X X Y Y Z Y Y Z X X X Y Z Y Z Z Y Z Y X Z Z Y X X Y Y Z Y X Z X X Y Z Y Z Z Z Z Z X Y Y X Y Y X Y Y Y Y X X Y Y X Y Z Y Y Y Y X X X X X X X Y X Y X Z Y Y Y X Z X Y X Y Z X Y Z Y X Y Y X X Y X X Z Y X X X Y Y Z Y Z X Y X Y Y Y X Z Z...
output:
70000 000010110110001011100000001100110101110000110100011001111001110011000010000111101001110010001001101000111000000010100101100101110000101101010010001011110011011010010110001100110011100011000110010101100011001011011111110101001001111001101111010010000000000100011011011010101110001001000111100111...
input:
70000 000010110110001011100000001100110101110000110100011001111001110011000010000111101001110010001001101000111000000010100101100101110000101101010010001011110011011010010110001100110011100011000110010101100011001011011111110101001001111001101111010010000000000100011011011010101110001001000111100111...
output:
0 70000 22257
result:
points 1.0 n = 100000, D = 70000, L = 22257
Test #20:
score: 100
Accepted
time: 40ms
memory: 9904kb
input:
99997 X X Z X Z X Y Z Y X Y Z X X Y Y Z X Y Y X Z Z Y Y X X Z Y Z Y X Y X Y Y Y Y Z Z X Z X Z Z Z X X Y Z Z X X Y X X Y Z Y Z Z Z Z Y X Y Z Z X X X Z Z Z Y Z Z Y Y Y X Z Y X X Z Z Y Z Y Y Z Z Z X Z X X X Z Y Z X Z Y Y X X Z Y Y Z X Z Z X Z Z Z Z X X Z Y Z Y Y X Y Y Y Z X Y Y Y Y Z Y X Y X Y Z X X X ...
output:
70000 101101010010001000111111000000101001010101010000110010110000101011000110101001010000000110100110000011111011101011101110000000000011010011100100011001011011000111001100111110000010110001101001011100010000101101001100001010100100111110101101010000111110101100000010010001100110001110001010010001...
input:
70000 101101010010001000111111000000101001010101010000110010110000101011000110101001010000000110100110000011111011101011101110000000000011010011100100011001011011000111001100111110000010110001101001011100010000101101001100001010100100111110101101010000111110101100000010010001100110001110001010010001...
output:
0 70000 22040
result:
points 1.0 n = 99997, D = 70000, L = 22040
Test #21:
score: 100
Accepted
time: 40ms
memory: 9812kb
input:
99996 X X Z Y X X Y Y X Y Z X X Y Z Z Z X Z Y Z Y Y Y Z Z Z X Z Z X Y X X X Z Y Y X X Y Y Z X Z Y X X X Y X X Z Z X Z Z Y Z X Z X Z Y Z Z X Y Z Z X Y X X Z Z X X Y Z Z X X X Z X Z X Z Y X X X X Z X Z Z Z X Z X Z Y X X Y Z Y Z Z X Y Y X X X X X Y Z Z Z Z Y Z Z Z Z Z Z Y X Y Y X Y X X X X Y Y Y Y X Z ...
output:
70000 100000100010001010111000111000011101100101101100110111010110101110100001001000001000001101100001111100110010010111111101101111010010011100111011100100101010101100011100000110010111000101000100100001000000000111000101101010000010011110100010101111100000110011000000110001111001110001010011101001...
input:
70000 100000100010001010111000111000011101100101101100110111010110101110100001001000001000001101100001111100110010010111111101101111010010011100111011100100101010101100011100000110010111000101000100100001000000000111000101101010000010011110100010101111100000110011000000110001111001110001010011101001...
output:
0 70000 22360
result:
points 1.0 n = 99996, D = 70000, L = 22360
Test #22:
score: 100
Accepted
time: 26ms
memory: 9868kb
input:
99995 X Z X Y Y Y X X X Y Z Z Z X Y Y X Y X X Z Z X X Y Y X Z Z X Z Z X Z X X Y Z X X Z Z Y Y Y Y Z Y X X Z Y Z Z Y X X Y Z Y Y Z Z Z X Y X Y Z Z Z Z X Z Z Z Y Z Y Z Z Y X Z Y Y Z Y Y X X Z Y X Y Y Y Y X Y Z X Z Z X Z Y Z Z Z Y X X X Y Z Y Z Y Y Y X Z Z Z Z Z Y Y Z Y X X Y Y X Y X Y Y X Y Z Z X X X ...
output:
70000 110101100110000001111000111111010001001110011100010110111111000001011010100001011100110010000110110010010111010100000111110010110010011101001110001111011100100100011000111011110011000011110111110011000010011101111110000000000101100110010010011100111000111100100000000101100110110010001101100001...
input:
70000 110101100110000001111000111111010001001110011100010110111111000001011010100001011100110010000110110010010111010100000111110010110010011101001110001111011100100100011000111011110011000011110111110011000010011101111110000000000101100110010010011100111000111100100000000101100110110010001101100001...
output:
0 70000 22233
result:
points 1.0 n = 99995, D = 70000, L = 22233
Test #23:
score: 0
Wrong Answer
time: 32ms
memory: 9816kb
input:
99994 Z Z Z X Z Y X Y Y Z X Z X Y Y Y X X X Y Z Y X Z Z Y Z Z Z Z X Z Z Y Y Y Z X Y X Z X Z X X Z X Z Y X Z Y Z X Y X Y X Z X Z Y X Z X X X X X X Y X Z X Y X Z Y X X Z Y Z Y Y Y X Z X X X Y X Z Z X Z X Z Y Y Y Z Z Z X Y X X X Y Z Z Z X X X Y Y Y Z X Z X Y X X Y X Z Y Z X Z Y X X Z X Y Z X X Z Y X X ...
output:
70000 111000111000101001000010101111101001010111111011101011001010011111111011100110100111011010001000000101110111110100011011101101111101010101011000000100010000000111011010001001101001000011000000111101011011101001111000010110101011101101000010011100111110011111110101001100101001011000101010111111...
input:
70000 111000111000101001000010101111101001010111111011101011001010011111111011100110100111011010001000000101110111110100011011101101111101010101011000000100010000000111011010001001101001000011000000111101011011101001111000010110101011101101000010011100111110011111110101001100101001011000101010111111...
output:
0 70000 11114
result:
wrong answer your query is valid but your solution is not optimal: read 11114 but expected 22316