蓝桥杯
qq_44918409
这个作者很懒,什么都没留下…
展开
-
网络流问题(Dinic算法JAVA实现)
网络流问题(Dinic算法JAVA实现)本文不讲算法原理,因为网络已经有很多文章和视频将算法的原理讲得很好了。所以读者最好在理解算法原理的情况下再来看这篇文章。考虑到网上的Dinic算法的java实现版本很少所以本文主要讲解代码。BFSDinic算法首先使用BFS将整个图分层,例如起点为第1层、起点所连接的下一个点为第2层、以此类推。代码实现很简单 public static boolean BFS(int [][] matrix, int s, int t) { //创建depth数组原创 2021-02-06 20:18:04 · 597 阅读 · 0 评论 -
蓝桥杯 2n皇后问题(java)
蓝桥杯 2n皇后问题(java)问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。解法描述这题是一道经典的dfs题,但是与八皇后有所不同,因为要放两种皇后,同时给出的棋盘还有不能放的限制,我们要考虑这两种情况。我在输入棋盘时使用了一个列表来储存棋盘中0的位置,之后在判断该位置是否能放皇后时我们会用到这个列原创 2021-01-13 17:00:55 · 632 阅读 · 0 评论