NPSC補完計劃

登入註冊帳號.

請輸入帳號, 密碼以及預計登入時間
進階搜尋  

最新消息:

歡迎光臨NPSC補完計劃

+ NPSC補完計劃 » 一般 » 綜合討論區
 Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽

作者 主題: Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽  (閱讀 2091 次)

hui

  • 新手
  • *
  • 文章數: 2
    • 檢視個人資料
Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽
« 於: 七月 01, 2011, 10:46:10 am »

以下不知那裡錯了~~

代碼: [選擇]
int main()
{
int T,N,M,count;
char map[500][500];

cin>>T;
for(int k=0;k<T;k++){
cin>>N>>M;
count=0;
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
cin>>map[i][j];

for(int ii=0;ii<N;ii++){
for(int jj=0;jj<M;jj++){
if(map[ii][jj]=='1'){
            if(map[ii][jj-1]!='1')count=count+1;
            if(map[ii][jj+1]!='1')count=count+1;
            if(map[ii-1][jj]!='1')count=count+1;
            if(map[ii+1][jj]!='1')count=count+1;}}}

cout<<count<<endl;
}
« 上次編輯: 九月 22, 2011, 09:01:50 am 由 sagit »
記錄

sagit

  • 管理員
  • 白金會員
  • *****
  • 文章數: 231
    • 檢視個人資料
回覆: Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽
« 回覆 #1 於: 七月 01, 2011, 04:30:14 pm »

當 ii 或 jj 為 0 的時候,
你的 map[ii][jj-1] 和 map[ii-1][jj] 會是什麼呢?

這種問題, 一般是在外面再圍一圈 0 ,
這樣就不需要去判斷是不是在邊界了....
記錄

hui

  • 新手
  • *
  • 文章數: 2
    • 檢視個人資料
回覆: Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽
« 回覆 #2 於: 七月 01, 2011, 07:12:02 pm »

我解決了

謝謝 :)
記錄
+ NPSC補完計劃 » 一般 » 綜合討論區
 Help ~~ B. 薑餅部落的危機 -- 2010 NPSC 國中組初賽