摘要:
思路:设: 方程为1*x1 ^ 1*x2 ^ 0*x3 = 0;0*x1 ^ 1*x2^ 1*x3 = 0;1*x1 ^ 0*x2 ^ 0*x3 = 0把每一列压缩成一个64位整数,因为x范围为 (0 1 2 3) 二进制位不超过2, 方程组行数不超过30 则用一个大于60位整数就能表示每一列的状态,然后枚举各列就可以了。如上面方程组第一列为 1 0 1 ,可写为a1 = 11 00 11, 假设x1取2, 则第一列 s1 = 10 10 10, s1&a1 = 10 00 10即为第一列的状态第二列 a2 = 11 11 00 设x2 = 1 则 s2 = 01 01 01, 第二列 阅读全文
摘要:
思路:将15种分成5类:1.1和2为一类;2.3,4,5,6为一类;3.7,8,9,10为一类;4.11,12,13,14,15为一类;5.15为一类。比较各类的优先级,就会发现放置的顺序为5->2->4->3->1.代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define ll __int64 9 #define pi acos(-1.0) 10 #define MAX 50000 11 using namespace std; 12 int 阅读全文