※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 33272번 문제인 TAIDADA이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/33272
어떤 음이 아닌 정수
아래는 제출한 소스코드이다.
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int N, M, K;
bool visited[400001];
vector<int> ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M >> K; ans.reserve(N);
for (int i = 1; i <= M && ans.size() < N; i++) {
if (visited[i]) continue;
if ((i ^ K) < 400001) visited[i ^ K] = 1;
ans.emplace_back(i);
}
if (ans.size() < N) cout << -1;
else {
for (auto &x:ans) cout << x << ' ';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 27222 // C++] Штангист (0) | 2025.02.13 |
---|---|
[BOJ 22412 // C++] ABC Gene (0) | 2025.02.12 |
[BOJ 6913 // C++] Constrained Permutation (0) | 2025.02.07 |
[BOJ 18270 // C++] Livestock Lineup (0) | 2025.02.06 |
[BOJ 3870 // C++] Find the Multiples (0) | 2025.02.05 |