CF504D.Misha and XOR

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在 Misha 生日后,他房间里散落着很多大数。现在是打扫房间的时候了,Misha 需要把这些数放进篮子里。他让宠物机器人完成这项任务,机器人同意了,但提出了一个条件。在每次将某个数 xx 放入篮子前,Misha 要回答:能否从已经在篮子里的某些数中选择若干个,使得它们的异或和等于 xx?

如果答案是肯定的,还需要给出这些数的编号。如果有多种选择方案,你可以任选一种正确的方案。Misha 回答后,机器人便把这个数放入篮子。

初始时篮子里是空的。每个放入篮子的数按照其加入顺序编上编号:第一个放进篮子的编号为 00,第二个为 11,以此类推。

Misha 希望尽快完成打扫工作,但他在数学方面并不擅长。他请求你来帮忙。

输入格式

第一行包含一个整数 mm(1≤m≤20001 \le m \le 2000),表示房间里散落的数的个数。

接下来的 mm 行,每行给出一个数,按机器人放入篮子的顺序给出。每个数为正整数,严格小于 1060010^{600},且不含前导零。

输出格式

对于每一个数,如果不能用篮子中已有的数的异或和表示,则在对应行输出 00;否则输出一个整数 kk,表示方案中数的个数,接着输出这些数的编号(编号用空格隔开)。每个数在同一方案中最多出现一次。

输入输出样例

  • 输入#1

    7
    7
    6
    5
    4
    3
    2
    1
    

    输出#1

    0
    0
    0
    3 0 1 2
    2 1 2
    2 0 2
    2 0 1
    
  • 输入#2

    2
    5
    5
    

    输出#2

    0
    1 0
    

说明/提示

数的异或和指的是按位异或再对 2 取模的结果。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页