#include<cstdio> int t, n; int main() { scanf("%d", &t); while (t--) { scanf("%d", &n); int ck[101] = { 0, }, cnt[101] = { 0, }, p, r = 0; do { p = 0; for (int i = 1; i < n; i++) for (int j = i + 1; j <= n; j++) if (!ck[i] && !ck[j] && (i^j) <= n && !ck[i^j]) if (++cnt[i^j] > cnt[p]) p = i^j; ck[p] = 1; r++; } while (p); printf("%d\n", n + 1 - r); for (int i = 1; i <= n; i++) if (!ck[i]) printf("%d ", i); puts(""); } return 0; }
10736번: XOR삼형제 2
https://www.acmicpc.net/problem/10736
피드 구독하기:
댓글
                                      (
                                      Atom
                                      )
                                    
 
댓글 없음 :
댓글 쓰기