Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n = readInt(), x = readInt();
- if(n==2&&x==0){
- out.println("NO");
- return;
- }
- int flag = 0;
- TreeSet<Integer> answer = new TreeSet<Integer>();
- n--;
- while (n-- > 0) {
- flag = (int) (Math.random() * (200 * 1000));
- while (answer.contains(flag)) flag = (int) (Math.random() * (2000 * 100));
- if (n == 0) {
- while (answer.contains(x ^ flag) || answer.contains(flag)) {
- flag = (int) (Math.random() * 200000);
- }
- }
- answer.add(flag);
- x ^= flag;
- if (flag > 1000 * 1000) {
- out.println("NO");
- return;
- }
- }
- answer.add(x);
- out.println("YES");
- for (int i : answer) {
- out.print(i + " ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement