java-A-9剪格子

剪格子

方法一

深搜 + 剪枝 + 回溯

import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改

public class Main {
	static int[][] g;
	static int[][] v;
	private static int total;

	private static int m;

	private static int n;

	private static int ans = Integer.MAX_VALUE;
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		// 在此输入您的代码...
		m = scan.nextInt();
		n = scan.nextInt();
		scan.nextLine();
		g = new int[n][m];
		v = new int[n][m];
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				g[i][j] = scan.nextInt();
				total+=g[i][j];
			}
		}
		dfs(0, 0, 0, 0);
		System.out.println(ans);
		scan.close();
	}

	static void dfs(int i, int j, int steeps, int sum) {
		// 非法路径直接返回
		if (i < 0 || i == n || j < 0 || j == m || v[i][j] == 1) return;
		if(sum == total /2) {
			ans = Math.min(steeps, ans);
			return;
		}
		if (sum > total / 2) {
			return;
		}
		v[i][j] = 1;
		dfs(i + 1, j, steeps + 1, sum + g[i][j]); // 上
		dfs(i - 1, j, steeps + 1, sum + g[i][j]); // 下
		dfs(i, j - 1, steeps + 1, sum + g[i][j]); // 左
		dfs(i, j + 1, steeps + 1, sum + g[i][j]); // 右
		
		// 回溯
		v[i][j] = 0;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要让一个元素占满其所在容器的全部空间,可以使用 CSS 的 flex 布局。具体地,将容器的 display 属性设置为 flex,然后将该元素的 flex 属性设置为 1。例如: HTML 代码: ``` <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item item3">Item 3</div> </div> ``` CSS 代码: ``` .container { display: flex; height: 300px; } .item { flex: 1; border: 1px solid black; } .item3 { background-color: yellow; } ``` 在上面的代码中,容器的高度被设置为 300 像素,三个子元素都被设置为 flex: 1。其中第三个元素还额外设置了背景色为黄色。效果如下图所示: ![d-flex 占满格子](https://img-blog.csdnimg.cn/20210604095447754.png) ### 回答2: 在Bootstrap中,d-flex是用于创建一个flex容器的类名。它可以将一个元素设置为flex容器,并使用flexbox布局。当使用d-flex类时,元素的display属性会被设置为flex,使其成为一个flex容器。 要使d-flex占满格子,可以使用其他的Bootstrap类名来设置元素的宽度。例如,可以使用w-100类来设置元素的宽度为100%,使其占满父容器的格子。可以将d-flex类名与w-100类名相结合,以实现d-flex占满格子的效果。 示例代码如下: <div class="d-flex w-100"> 内容 </div> 在这个示例中,我们将一个div元素设置为flex容器,并且使用了w-100类来设置其宽度为100%。这样,这个d-flex的容器就会占满其父容器的格子。 除了w-100类,还可以使用其他的Bootstrap类名来设置元素的宽度,如w-50、w-75等。根据具体的需求,可以选择不同的类名来实现所需的布局效果。 总结起来,要使d-flex占满格子,可以使用d-flex类名将元素设置为flex容器,并使用其他的Bootstrap类名来设置元素的宽度,以实现所需的布局效果。 ### 回答3: d-flex 是 Bootstrap 框架中的一个类,用于设置元素的弹性盒子布局。当我们需要让一个元素占满其所在格子时,可以使用 d-flex 类。 首先,通过在 HTML 元素的 class 属性中添加 d-flex 类,我们可以将该元素设为弹性盒子。接着,我们可以使用其他弹性盒子属性来控制元素的尺寸和位置。 为了让该元素占满其所在格子,可以结合使用 justify-content 和 align-items 属性来实现。 当元素所在格子是父容器的子元素时,设置父容器的 class 为 d-flex,并添加 justify-content-center 和 align-items-center 类。justify-content-center 属性将元素水平居中,align-items-center 属性将元素垂直居中。 如果元素不是父容器的子元素,可以使用容器的 class 添加 d-flex,并在元素的 class 中添加 align-self-stretch 属性。align-self-stretch 属性将元素自动拉伸至与父容器的高度相同,使其占满格子。 综上所述,通过使用 d-flex 类和相应的弹性盒子属性,我们可以轻松实现让元素占满格子的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值