# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1260785 | inkvizytor | Question (Grader is different from the original contest) (CEOI14_question_grader) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> msk = {0};
void solve1() {
int x, y;
cin >> x >> y;
int m1 = msk[x], m2 = msk[y];
for (int i = 0; i < 12; i++) {
if ((m1&(1<<i)) && ((m2&(1<<i))==0)) {
cout << i+1 << '\n';
return;
}
}
}
void solve2() {
int q, h;
cin >> q >> h;
if (msk[q]&(1<<(h-1))) {
cout << "yes\n";
return;
}
else {
cout << "no\n";
return;
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
for (int i = 0; i < (1<<12); i++) {
if (__builtin_popcount(i) == 6) {
msk.push_back(i);
}
}
int a;
cin >> a;
if (a == 1) {
int n, t;
cin >> n >> t;
for (int i = 0; i < t; i++) solve1();
}
else {
int n, t;
cin >> n >> t;
for (int i = 0; i < t; i++) solve2();
}
}
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> msk = {0};
void solve1() {
int x, y;
cin >> x >> y;
int m1 = msk[x], m2 = msk[y];
for (int i = 0; i < 12; i++) {
if ((m1&(1<<i)) && ((m2&(1<<i))==0)) {
cout << i+1 << '\n';
return;
}
}
}
void solve2() {
int q, h;
cin >> q >> h;
if (msk[q]&(1<<(h-1))) {
cout << "yes\n";
return;
}
else {
cout << "no\n";
return;
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
for (int i = 0; i < (1<<12); i++) {
if (__builtin_popcount(i) == 6) {
msk.push_back(i);
}
}
int a;
cin >> a;
if (a == 1) {
int n, t;
cin >> n >> t;
for (int i = 0; i < t; i++) solve1();
}
else {
int n, t;
cin >> n >> t;
for (int i = 0; i < t; i++) solve2();
}
}