摘要:
题意:删去最少的边,使图中不存在奇圈。分析:一开始想用BFS求出哪些点同时存在于两个集合再进行处理,发现行不通。但从数据的范围来看(N≤15,M≤300),这么少的数据可以直接枚举这些点分成两个集合的所有情况,最多2^15种,然后看看哪种情况删除的边数最少的就是答案。View Code 1 #include<cstdio> 2 int t,n,m; 3 int matrix[16][16]; 4 int solve(int set) 5 { 6 int counter=0; 7 for(int i=0;i<n;i++) 8 { 9 if((set&(1... 阅读全文
摘要:
题目:Problem Description这是一个简单的游戏,在一个n*n的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小。Input输入一个整数T表示T组数据。对于每组数据第一行输入一个正整数n(1<=n<=100)表示矩阵的大小。接着输入n行,每行n个数x(0<=x<=100)。Output对于每组数据输出一个数表示最小差值。分析:要在不同行不同列中找n个数,很容易想到用二分匹配。但是要这n个数的最大值和最小值的差值最小就比较麻烦了。其实,这个时候应该要想想枚举的方法能不能做得出这个题目了。枚举差值,再在每一个差值里面枚 阅读全文