2023大厂真题提交网址(含题解):
www.CodeFun2000.com(http://101.43.147.120/)
最近我们一直在将收集到的机试真题制作数据并搬运到自己的OJ上,供大家免费练习,体会真题难度。现在OJ已录入50+道2023年最新大厂真题,同时在不断的更新。同时,可以关注"塔子哥学算法"公众号获得每道题的题解。
题目大意:
给你 n ( n ≤ 29 ) n(n \leq 29) n(n≤29)个开关。每个开关改变状态会跟着改变其他若干个开关的状态。给你一个开始状态 S S S,一个结束状态 T T T。问你有多少种操作方案使得状态从 S S S到 T T T.(每个开关至多改变一次状态,且无视操作顺序).
题目思路:
套路与POJ1222几乎一样。将每个开关按或不按设成未知数,列出异或线性方程求解即可。
这里关键对解的存在性进行讨论:
答案是 2 f r e e 2^{free} 2free. f r e e free free代表自由元的个数.
1.如何求自由元:(自由元的含义是:可以取定义域中的任何值的未知数,且只有方程中所有自由元确定了值之后才能确定所有的未知数.)
当高斯消元的过程中发现某一行的列以下全为0.那么该未知数是自由元。
2.如何判断无解的情况.
若跑完高斯消元后剩下的几行中出现 0 , 0 , . . . , x ( x ≠ 0 ) 0 , 0 ,