| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 1260785 | inkvizytor | 질문 (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();
    }
}
