| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1325175 | rainy3218 | 질문 (CEOI14_question_grader) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int h[1000];
int fbits(int a) {
int ret = 0;
while(a) {
ret += a & 1;
a = a >> 1;
}
return ret;
}
void precomp() {
int idx = 0;
for(int i = 0; i < (1 << 12); i++) {
if(fbits(i) == 6) {
idx++;
h[idx] = i;
}
}
}
int main() {
precomp();
int Q;
int N, T;
cin >> Q;
cin >> N >> T;
if(Q == 1) {
for(int i = 1; i <= T; i++) {
int a, b;
cin >> a >> b;
int c = 1;
int aa = h[a];
int bb = h[b];
while((aa & 1) <= (bb & 1)) {
c++;
aa = aa >> 1;
bb = bb >> 1;
}
cout << c << endl;
}
}
else {
for(int i = 1; i <= T; i++) {
int a, b;
cin >> a >> b;
if(h[a] & (1 << (b - 1))) cout << "yes" << endl;
else cout << "no" << endl;
}
}
}#include <bits/stdc++.h>
using namespace std;
int h[1000];
int fbits(int a) {
int ret = 0;
while(a) {
ret += a & 1;
a = a >> 1;
}
return ret;
}
void precomp() {
int idx = 0;
for(int i = 0; i < (1 << 12); i++) {
if(fbits(i) == 6) {
idx++;
h[idx] = i;
}
}
}
int main() {
precomp();
int Q;
int N, T;
cin >> Q;
cin >> N >> T;
if(Q == 1) {
for(int i = 1; i <= T; i++) {
int a, b;
cin >> a >> b;
int c = 1;
int aa = h[a];
int bb = h[b];
while((aa & 1) <= (bb & 1)) {
c++;
aa = aa >> 1;
bb = bb >> 1;
}
cout << c << endl;
}
}
else {
for(int i = 1; i <= T; i++) {
int a, b;
cin >> a >> b;
if(h[a] & (1 << (b - 1))) cout << "yes" << endl;
else cout << "no" << endl;
}
}
}