日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

全球变暖java_第九届 蓝桥杯 JavaB组 全球变暖

發布時間:2024/10/8 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全球变暖java_第九届 蓝桥杯 JavaB组 全球变暖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標題:全球變暖

你有一張某海域NxN像素的照片,".“表示海洋、”#"表示陸地,如下所示:

.##…

.##…

…##.

…####.

…###.

其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。

由于全球變暖導致了海面上升,科學家預測未來幾十年,島嶼邊緣一個像素的范圍會被海水淹沒。具體來說如果一塊陸地像素與海洋相鄰(上下左右四個相鄰像素中有海洋),它就會被淹沒。

例如上圖中的海域未來會變成如下樣子:

…#…

請你計算:依照科學家的預測,照片中有多少島嶼會被完全淹沒。

【輸入格式】

第一行包含一個整數N。 (1 <= N <= 1000)

以下N行N列代表一張海域照片。

照片保證第1行、第1列、第N行、第N列的像素都是海洋。

【輸出格式】

一個整數表示答案。

【輸入樣例】

7

.##…

.##…

…##.

…####.

…###.

【輸出樣例】

1

資源約定:

峰值內存消耗(含虛擬機) < 256M

CPU消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入…” 的多余內容。

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。

不要使用package語句。不要使用jdk1.7及以上版本的特性。

主類的名字必須是:Main,否則按無效代碼處理。

方法:

三步

第一步:用dfs找出總共的島嶼數目

第二步:用兩個for循環淹沒島嶼(注意理解題意,四面一面鄰海就要被淹沒,但是程序運行時一次淹沒一個島嶼,所以我們需要用一個vis數組來表示這個島嶼是被淹沒的島嶼還是從最開始就是海洋)

第三步:再用dfs找出淹沒后還有多少個島嶼,前后相減就是被淹沒的島嶼數

package 第九屆;

import java.util.Scanner;

public class _09全球變暖 {

static int n;

static int[][] dfs_vis;

static int dir[][] = {{1,0},{-1,0},{0,1},{0,-1}};

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

sc.nextLine();

dfs_vis = new int[n][n];

char[][] map = new char[n][n];

for(int i = 0; i < n; i++) {

String s = sc.nextLine();

map[i] = s.toCharArray();

}

//找島嶼

int start = 0;

for(int i = 0; i < n; i++) {

for(int j = 0; j < n; j++) {

if(map[i][j] == '#' && dfs_vis[i][j] == 0) {

dfs_vis[i][j] = 1;

dfs(i,j,map);

start++;

}

}

}

//淹沒

int vis[][] = new int[n][n];

for(int i = 0; i < n; i++) {

for(int j = 0; j < n; j++) {

if(map[i][j] == '#') {

vis[i][j] = 1;

for(int k = 0; k < 4; k++) {

int nx = i + dir[k][0];

int ny = j + dir[k][1];

if(check(nx,ny,n) && map[nx][ny] == '.' && vis[nx][ny] == 0) {

//vis[nx][ny] = 1;

map[i][j] = '.';

break;

}

}

}

}

}

//找淹沒后剩余的島嶼

dfs_vis = new int[n][n];

int end = 0;

for(int i = 0; i < n; i++) {

for(int j = 0; j < n; j++) {

if(map[i][j] == '#' && dfs_vis[i][j] == 0) {

dfs_vis[i][j] = 1;

dfs(i,j,map);

end++;

}

}

}

System.out.println(start);

System.out.println(end);

System.out.println(start-end);

}

private static void dfs(int i, int j, char[][] map) {

for(int k = 0; k < 4; k++) {

int nx = i + dir[k][0];

int ny = j + dir[k][1];

if(check(nx,ny,map.length) && map[nx][ny] == '#' && dfs_vis[nx][ny] == 0) {

dfs_vis[nx][ny] = 1;

dfs(nx,ny,map);

}

}

}

private static boolean check(int nx, int ny,int n) {

return nx>=0 && nx=0 && ny

}

}

標簽:nx,第九屆,JavaB,int,dfs,藍橋,vis,map,ny

來源: https://blog.csdn.net/Cypresszky/article/details/104882582

總結

以上是生活随笔為你收集整理的全球变暖java_第九届 蓝桥杯 JavaB组 全球变暖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美网 | 久久久无码精品亚洲无少妇 | 九九视屏| 非洲黄色大片 | 综合亚洲色图 | 精品视频一区在线观看 | 精品国产精品三级精品av网址 | 欧美成人性生活 | 婷婷六月综合网 | 久久精品一二三区 | 欧美日韩国产一区二区三区 | 在线天堂在线 | 青青草原av | 欧美a∨亚洲欧美亚洲 | 嫩草影院污 | 爱情岛av永久入口 | 日韩黄色免费看 | 少妇一级淫片 | 91看片黄色 | 91国内产香蕉| 一级黄色电影片 | 狠狠爱五月婷婷 | 日本美女性生活视频 | 精品自拍第一页 | 久久视频热| 亚洲美女视频在线 | 亚洲不卡在线观看 | 日本少妇与黑人 | 中文字幕无码精品亚洲资源网久久 | 国产精品一区二区人人爽 | 欧美大片在线观看 | 国产美女自拍 | 国产免费无遮挡吸奶头视频 | 18一20岁毛毛片 | 日本午夜精华 | 国内精品在线观看视频 | 欧美精品午夜 | 伊人网伊人网 | 欧美精品五区 | 日韩一区二区中文字幕 | 人妖ts福利视频一二三区 | 国产探花视频在线观看 | 另类视频一区 | 日本中文字幕在线免费观看 | 日韩有码电影 | 国产日产欧美一区二区三区 | av在线观 | 欧美色视频在线 | 国产精品视频一区二区三区不卡 | 欧美日韩在线高清 | 欧美精品免费一区二区三区 | 欧美成网| 亚洲一区二区三区在线免费观看 | αv在线 | 少妇一级片| 日本美女一区二区三区 | 人人妻人人澡人人爽精品日本 | 中文字幕亚洲无线码在线一区 | 国产午夜三级一区二区三 | 亚洲九区 | 色爱五月天 | 我和我的太阳泰剧在线观看泰剧 | 国语对白做受69 | 国产精成人品免费观看 | 黄色小网站在线观看 | 欧美色v | 四虎精品一区二区三区 | 福利一区二区在线观看 | av毛片精品 | 亚洲在线看| 国产良妇出轨视频在线观看 | 中文字幕在线播放一区 | 国产精品成人免费视频 | 精东传媒在线观看 | 欧美一区二区三区精品 | 4438亚洲最大 | 极品久久久 | 日韩久久综合 | 神马久久网 | 国产精品亚洲自拍 | 丰满少妇乱子伦精品看片 | 欧美成人生活片 | 久久精品国产熟女亚洲AV麻豆 | 亚洲av永久无码精品三区在线 | 激情一区 | 久久综合伊人77777麻豆 | 免费在线a | 色悠悠网| 在线观看免费黄网站 | 国产精品第八页 | 精品国产伦一区二区三区免费 | 天天综合干 | 黄页网站视频在线观看 | 久久538| 狠狠操精品 | 中文字幕亚洲欧美日韩在线不卡 | 真人真事免费毛片 | 亚洲涩涩在线 | 亚洲熟妇无码一区二区三区 |