From 26de5c065311089bbc843af96a35062b2c6a4c74 Mon Sep 17 00:00:00 2001 From: Yornii <2571425925@qq.com> Date: Tue, 4 Nov 2025 13:11:21 +0800 Subject: [PATCH] =?UTF-8?q?Update=200106.=E5=B2=9B=E5=B1=BF=E7=9A=84?= =?UTF-8?q?=E5=91=A8=E9=95=BF.md=20=E6=B7=BB=E5=8A=A0=E8=A7=A3=E6=B3=95?= =?UTF-8?q?=E4=BA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Yornii <2571425925@qq.com> --- ...77\347\232\204\345\221\250\351\225\277.md" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git "a/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" "b/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" index 3708715a4b..ef1e8d63ff 100644 --- "a/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" +++ "b/problems/kamacoder/0106.\345\262\233\345\261\277\347\232\204\345\221\250\351\225\277.md" @@ -160,6 +160,7 @@ int main() { ## 其他语言版本 ### Java +解法一 ```Java import java.util.*; @@ -215,6 +216,48 @@ public class Main { } } ``` +解法二 +```java +import java.util.Scanner; + +public class Main { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + int m = sc.nextInt(); + + int[][] grid = new int[n][m]; + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + grid[i][j] = sc.nextInt(); + } + } + + int sum = 0; // 陆地数量 + int cover = 0; // 相邻陆地对数(仅统计上边和左边) + + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + if (grid[i][j] == 1) { + sum++; // 统计陆地总数 + // 检查上方是否有陆地 + if (i - 1 >= 0 && grid[i - 1][j] == 1) { + cover++; + } + // 检查左方是否有陆地 + if (j - 1 >= 0 && grid[i][j - 1] == 1) { + cover++; + } + // 不检查下方和右方,避免重复计算 + } + } + } + + System.out.println(sum * 4 - cover * 2); + sc.close(); + } +} +``` ### Python