摘要:
题目大意:一个冰箱有16个开关,只有16个开关同时处于打开状态,这个冰箱才可以打开。现给出4x4矩阵,表示16个开关状态,’+’表示开关关闭,’-‘表示开关打开。你可以改变任意一个位置为[i,j]开关的状态,但同时i行j列的所有开关状态同时改变。找出最少操作次数,并输出操作方案。本题操作方案有多种,输出任意一种均可。题目来源:http://poj.org/problem?id=2965输入示范:-+-----------+--输出示范:61 11 31 44 14 34 4解题思路:算法:dfs + 位操作这道题是一道枚举题目,与Poj1753有相似处。由于要输出路径,所以用dfs要比bfs方 阅读全文
摘要:
这道题目贵在建模,一开始没想明白,经大神指点,是一道比较简单的最大匹配原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=1281;难点在于想明白二分的x集合y集是什么。这道题x,y 分别是棋盘的横纵坐标,这一点是一开始就走入歧途的我没想到的。就拿第一个用例来说:3 3 41 21 32 12 2对于关系(1,2)跟(1,3),只能选择一个关系,因为他们两个在同一个x坐标下,这样的话就可以理解为什么是最大匹配了吧!这一层理解了就没什么难度了,直接套用模板算法:最大匹配(匈牙利算法)代码: 1 //最大匹配,枚举 2 #include<stdio. 阅读全文