题意: N*N的矩阵,有K个敌人,坐标分别是(C1,C1),.....,(Rk,Ck). 有一个武器,每发射一次,可消掉某行或某列上的所有的敌人. 问消灭所有敌人最少需要多少发. 思路: 二分建图:左边N个点代表行号,右边N个点代表列号.如果第i行第j列上有敌人,则将左边点i和右边点j连一条线. 则转化为求此二分图的最小点覆盖,即最大匹配.[这个建图思想太妙了!赞!] 代码: int n,k; vector<int> graph[505]; bool bmask[505]; int cx[50…