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

歡迎訪問 生活随笔!

生活随笔

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

java

把握不好数组边界的危害(记洛谷P1789题RE+WA的经历,Java语言描述)

發布時間:2025/3/15 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 把握不好数组边界的危害(记洛谷P1789题RE+WA的经历,Java语言描述) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

整體分析

先讀取第一行的三個數,再設計算法。
這里我比較笨,沒有用什么好的算法,卻也沒厚著臉皮直接完全暴力求解……(不過還是暴力解法)

數據結構的話,N×N的boolean數組即可,乍一看是不可避免的。

對于螢石,就是很簡單啦,直接開雙層循環就完事,構成一個5×5方陣即可。
對于火把,就需要先處理~~

我們分別對黑色圈內的和非黑色圈內的部分進行處理即可。

注意細節

細節分析起來挺曲折的,雖然這題還是不難。

需要注意的是數組越界,在Java里用了二維數組還涉及邊界情況,就跑不開ArrayIndexOutOfBoundsException,必須對邊界情況詳細分析。

另需要注意的是我們用的數組是[0 ~ N-1][0 ~ N-1],然而輸入的是1 ~ N,這個一定不要搞錯了呀。

自測WA

按照提供的測試用例測試,結果應該是12,打印的是16,多了4個,于是發現bug在與我沒看清楚“火把”的7、9、17、19四個位置是true(亮的),于是乎,修復。

不斷的自測,感覺良好,提交去~~

第一次提交——RE+WA


分析一下為啥WA,其實發現就是上面說的那個問題,沒理解清楚給的測試數據其實是我們人類計數的方式(從1開始),從而處理錯了。

再分析RE,運行時的異常一般來說這里就是數組越界了,讀讀代碼看不出來,那就測試邊界。

發現是-1越界,就找代碼,發現這個:

其實想想也是,既然是合理的算法,為啥會重復報warning呢,必是Ctrl+V的時候沒改好……
修復:

再次提交~~

第二次提交——RE


沒WA證明思路基本OK,RE就還是數組越界,很煩人……

于是想到自己的測試在矩陣左上角測的,右下角沒測試,補測一下:

太真實了,真的錯了,55555~~

修復一下:

反復測試,覺得真的ok了,最終提交~~

第三次提交——AC


好開心啊!(雖然這題初中一年級水平,wtcl~~)

AC代碼(Java)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//矩陣大小參數int matrixLen = scanner.nextInt();//火把數int torchNum = scanner.nextInt();//螢石數int candNum = scanner.nextInt();//創建矩陣boolean[][] matrix = new boolean[matrixLen][matrixLen];//填充火把可以照亮的位置for (int i = 0; i < torchNum; i++) {int x = scanner.nextInt() - 1;int y = scanner.nextInt() - 1;//左不越界if (x - 1 >= 0) {//左不越界+上不越界if (y - 1 >= 0) {matrix[x-1][y-1] = true;}//左不越界+下不越界if (y + 1 < matrixLen) {matrix[x-1][y+1] = true;}}//右不越界if (x + 1 < matrixLen) {//右不越界+上不越界if (y - 1 >= 0) {matrix[x+1][y-1] = true;}//右不越界+下不越界if (y + 1 < matrixLen) {matrix[x+1][y+1] = true;}}for (int j = 0; j <= 2; j++) {//左不越界if (x - j >= 0) {matrix[x-j][y] = true;}//右不越界if (x + j < matrixLen) {matrix[x+j][y] = true;}//上不越界if (y - j >= 0) {matrix[x][y-j] = true;}//下不越界if (y + j < matrixLen) {matrix[x][y+j] = true;}}}//填充螢石可以照亮的位置for (int i = 0; i < candNum; i++) {int x = scanner.nextInt() - 1;int y = scanner.nextInt() - 1;for (int j = 0; j <= 2; j++) {if (x - j >= 0) {for (int k = 0; k <= 2; k++) {if (y - k >= 0) {matrix[x-j][y-k] = true;}if (y + k < matrixLen) {matrix[x-j][y+k] = true;}}}if (x + j < matrixLen) {for (int k = 0; k <= 2; k++) {if (y - k >=0) {matrix[x+j][y-k] = true;}if (y + k < matrixLen) {matrix[x+j][y+k] = true;}}}}}//計算數量int count = 0;for (int i = 0; i < matrixLen; i++) {for (int j = 0; j < matrixLen; j++) {if (!matrix[i][j]) {count++;}}}System.out.println(count);//關閉輸入流scanner.close();} }

說明

寫OJ寫得少,寫的就很臃腫,還望dl們不吝賜教~~
OrzOrz

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的把握不好数组边界的危害(记洛谷P1789题RE+WA的经历,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 青青草伊人久久 | 91蜜桃网站| 欧美综合视频在线观看 | 日本美女三级 | 一区二区三区在线视频播放 | 红桃av| 天天射天天干天天舔 | 久久中文av | 国产探花精品在线 | 日韩欧美精品久久 | 人妻丰满熟妇岳av无码区hd | 日韩黄色录像 | 国产欧美日韩三级 | 操操操日日日 | 日本大尺度电影免费观看全集中文版 | 欧美日韩成人 | 3d成人动漫在线观看 | 欧美日韩一区二区三区在线视频 | 欧美在线资源 | 尤物精品视频在线观看 | 99久久精品无码一区二区毛片 | 免费看女生裸体视频 | 成人在线观看视频网站 | 91免费视频黄 | 草草屁屁影院 | 国产中文字幕在线视频 | 国产一级二级在线观看 | 国产又粗又大又长 | 能在线看的av | 精品国产视频一区二区 | 娇喘顶撞深初h1v1 | 91深夜福利 | 亚洲日本在线观看 | 在线播放少妇奶水过盛 | 成人在线视频免费播放 | 亚洲精品91天天久久人人 | 自拍日韩亚洲一区在线 | 久久中文字幕网 | 又粗又大又硬又长又爽 | 中文字幕人妻互换av久久 | 欧美一级高清片 | 看片在线观看 | 免费二区 | 精品国产午夜福利 | 国产女人18毛片水真多18精品 | 亚洲系列中文字幕 | 翔田千里x88aⅴ | 日本高清视频一区 | 日韩av手机在线播放 | 成人动漫视频 | 日本精品一区二区三区视频 | 亚洲一区二区三区影视 | 国产精品一区二区无码对白 | www日本色 | 国产人妻精品一区二区三 | 最近中文字幕在线mv视频在线 | 欧美久久久久久又粗又大 | 久久天堂影院 | 亚洲一区二区三区日韩 | 成人欧美一区二区三区在线播放 | 强制高潮抽搐哭叫求饶h | 黄色日b片 | 免费在线看污视频 | 色爽视频 | 日本黄色生活片 | www.天天操 | 亚洲一区二区精品在线观看 | 老熟妻内射精品一区 | 在线观看sm | 久草福利资源在线观看 | 波多野结衣在线免费观看视频 | 青娱乐在线视频观看 | 精品日韩在线 | 91刺激视频 | 国产精品视频一二三区 | 欧美成人怡红院 | 超碰在线免费97 | 少妇人妻偷人精品一区二区 | 强行挺进白丝老师里呻吟 | 大尺度做爰呻吟舌吻网站 | 极品少妇av| 久久综合精品国产二区无码不卡 | 国产视频最新 | 在线观看av日韩 | 1769国产精品 | 毛片aaaaaa| 国产乱人对白 | 国产一区av在线 | 亚洲精选中文字幕 | 亚洲最大视频网站 | 午夜一级大片 | 国产高潮国产高潮久久久91 | 国产一级色 | 视频在线一区 | 激情免费网站 | 日韩一区免费观看 | 国模在线视频 | 国产伦精品一区二区三区千人斩 | 国产一区二区三区乱码 |