QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#581080 | #8129. Binary Sequence | ucup-team1766# | AC ✓ | 74ms | 19244kb | C++17 | 1.4kb | 2024-09-22 06:45:40 | 2024-09-22 06:45:41 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int MAXS = 39;
string strs[MAXS];
string get_next(string& str){
string temp;
int am = 0;
char prev = '1';
for(int i = 0; i < str.size(); i++){
if(str[i] == prev){
am++;
}else{
string temp2;
while(am > 0){
if(am & 1){
temp2.push_back('1');
}else{
temp2.push_back('0');
}
am /= 2;
}
reverse(temp2.begin(), temp2.end());
temp += temp2;
temp += prev;
am = 1;
}
prev = str[i];
}
string temp2;
while(am > 0){
if(am & 1){
temp2.push_back('1');
}else{
temp2.push_back('0');
}
am /= 2;
}
reverse(temp2.begin(), temp2.end());
temp += temp2;
temp += prev;
return temp;
}
void solve() {
long long n;
int m;
cin >> n >> m;
n--;
if (n < MAXS && m >= strs[n].length()) {
cout << "0\n";
return;
}
if (n % 2 == 0) {
int len = strs[MAXS - 1].length();
cout << strs[MAXS - 1][len - m - 1] << "\n";
} else {
int len = strs[MAXS - 2].length();
cout << strs[MAXS - 2][len - m - 1] << "\n";
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
strs[0] = "1";
for (int i = 1; i < MAXS; i++) {
strs[i] = get_next(strs[i - 1]);
}
int t;
cin >> t;
while (t--) {
solve();
}
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 55ms
memory: 18784kb
input:
10 4 0 4 1 4 2 4 3 4 4 4 5 4 6 6 3 6 7 118999881999119725 3
output:
1 1 0 1 1 1 0 1 1 0
result:
ok 10 numbers
Test #2:
score: 0
Accepted
time: 47ms
memory: 17760kb
input:
10 28 69772 10 7908 4 3198 4 85913 14 52729 3 20445 9 88912 17 23743 25 37356 2 97697
output:
0 0 0 0 0 0 0 0 0 0
result:
ok 10 numbers
Test #3:
score: 0
Accepted
time: 54ms
memory: 19244kb
input:
100 29 110358 18 13645 18 590344 36 550462 11 133055 8 769352 11 265432 7 158530 12 29189 2 830361 11 584395 31 693707 7 879812 19 25069 21 616926 3 85158 31 675739 17 118385 24 315535 29 59615 10 33445 17 609235 8 738138 20 209540 4 287616 32 522302 26 959741 5 453537 27 74313 28 296289 28 857972 2...
output:
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
result:
ok 100 numbers
Test #4:
score: 0
Accepted
time: 74ms
memory: 18040kb
input:
100000 702433635413308636 962533 864089450531108488 538792 262747333715821506 454514 859830947243984718 105219 365621373252206174 447331 890829905503831899 507146 116987306031929573 154370 157986473366693144 364746 502917586764426513 49981 874588963478161584 594867 467219058104100510 790503 11034861...
output:
1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 ...
result:
ok 100000 numbers
Extra Test:
score: 0
Extra Test Passed