博客
关于我
Codeforces Round #553 (Div. 2) B. Dima and a Bad XOR(异或+思维)
阅读量:385 次
发布时间:2019-03-05

本文共 505 字,大约阅读时间需要 1 分钟。

在每一行选一个数,存不存在选取方案使得选取的数的异或和不为0

在每一行选一个数,存不存在选取方案使得选取的数的异或和不为0。我们可以通过以下步骤来解决这个问题:

  • 特殊情况处理:首先,考虑n=1的情况。如果只有一行,那么只要该行中存在至少一个非零数,就可以选择该数;否则,无法满足条件。

  • 异或和计算:计算所有行第一个数的异或和。如果异或和不为零,那么直接选择每行的第一个数即可满足条件。

  • 逐行检查:如果异或和为零,则逐行检查是否存在与第一个数不同的数。如果有,则选择该数;否则,无法满足条件。

  • 所有数相同检查:如果所有行的数都相同,那么无论如何选,异或和都会为零,无法满足条件。

  • 以下是具体的实现步骤:

  • 读取输入:读取矩阵的行数n和列数m。
  • 读取矩阵数据:存储每一行的数据。
  • 处理n=1的情况:检查是否存在非零数。
  • 计算异或和:计算所有行第一个数的异或和。
  • 检查替换可能性:逐行检查是否存在替换数。
  • 输出结果:根据检查结果输出“TAK”或“NIE”。
  • 通过以上步骤,我们可以确定是否存在满足条件的选取方案。

    答案:存在选取方案使得选取的数的异或和不为0。具体方案如下:

    TAK

    行1选1,行2选2,行3选3,……

    转载地址:http://aoewz.baihongyu.com/

    你可能感兴趣的文章
    375. Guess Number Higher or Lower II
    查看>>
    650. 2 Keys Keyboard
    查看>>
    764. Largest Plus Sign
    查看>>
    214. Shortest Palindrome
    查看>>
    916. Word Subsets
    查看>>
    869. Reordered Power of 2
    查看>>
    1086 Tree Traversals Again
    查看>>
    1127 ZigZagging on a Tree
    查看>>
    1062 Talent and Virtue
    查看>>
    1045 Favorite Color Stripe
    查看>>
    B. Spreadsheets(进制转换,数学)
    查看>>
    等和的分隔子集(DP)
    查看>>
    基础练习 十六进制转八进制(模拟)
    查看>>
    L - Large Division (大数, 同余)
    查看>>
    39. Combination Sum
    查看>>
    41. First Missing Positive
    查看>>
    80. Remove Duplicates from Sorted Array II
    查看>>
    83. Remove Duplicates from Sorted List
    查看>>
    410. Split Array Largest Sum
    查看>>
    开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?
    查看>>