java與acm—–java版搜尋(hdu 1241)

來源:互聯網
上載者:User

剛開始用java寫東西,歡迎指點。

 

1.Scanner位於java.util.*內

2.java的String類不像c++內的string。影響到資料輸入和雜湊。

 

其他總的來說還算適應。

 

 

import java.util.*;<br />public class Main {<br />/**<br /> * @param args<br /> */<br />static int n , m;<br />static final int MaxN = 101;<br />static char map[][] = new char[MaxN][MaxN];<br />static int dir[][] = {{0 , 1},{0 , -1},{-1 , 0},{1 , 0},{1 , 1},{-1 , -1},{-1 , 1},{1 , -1}};</p><p>static boolean inMap(int r ,int c){<br />return r >= 0 && c >= 0 && r < n && c < m;<br />}</p><p>static void DFS(int r ,int c){<br />map[r][c] = '*';<br />int _r , _c , i;<br />for (i = 0;i < 8;i ++){<br />_r = r + dir[i][0];<br />_c = c + dir[i][1];<br />if (inMap(_r , _c) && map[_r][_c] == '@'){<br />DFS(_r , _c);<br />}<br />}<br />}</p><p>public static void main(String[] args) {<br />// TODO Auto-generated method stub<br />int i , j , cnt;<br />String a = new String();<br />Scanner in = new Scanner(System.in);<br />while (true){<br />n = in.nextInt();<br />m = in.nextInt();<br />if (n == 0 && m == 0)break;<br />for (i = 0;i < n;i ++){<br />a = in.next();<br />map[i] = a.toCharArray();<br />}<br />for (cnt = i = 0;i < n;i ++){<br />for (j = 0;j < m;j ++){<br />if (map[i][j] == '@'){<br />cnt ++;<br />DFS(i , j);<br />}<br />}<br />}<br />System.out.println(cnt);<br />}</p><p>}<br />}<br />

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.