看板 b99902HW 關於我們 聯絡資訊
不好意思來問一下 我已經改到覺得沒地方可以改了呀 不知道為什麼才2分 我分別針對是不是邊界來檢查 邊界又分好幾種case 再針對鄰居總和是4 3 2 1的情況做加總 不知道是我眼殘還是真的有想錯了 可以拜託幫我看一下嗎... void intersection(int map[100][100], int result[4]); void intersection(int map[100][100], int result[4]) { int i, j; for(i = 0; i < 4; i++) result[i] = 0; for(i = 1; i < 99; i++){ for(j = 1; j < 99; j++){ if(map[i][j] == 1 && (map[i - 1][j] + map[i + 1][j] + map[i][j - 1] + map[i][j + 1]) == 4) result[0]++; if(map[i][j] == 1 && (map[i - 1][j] + map[i + 1][j] + map[i][j - 1] + map[i][j + 1]) == 3) result[1]++; if(map[i][j] == 1 && (map[i - 1][j] + map[i + 1][j] + map[i][j - 1] + map[i][j + 1]) == 2) result[2]++; if(map[i][j] == 1 && (map[i - 1][j] + map[i + 1][j] + map[i][j - 1] + map[i][j + 1]) == 1) result[3]++; } } for(j = 1; j < 99; j++){ if(map[0][j] == 1 && (map[1][j] + map[0][j - 1] + map[0][j + 1]) == 3) result[1]++; if(map[0][j] == 1 && (map[1][j] + map[0][j - 1] + map[0][j + 1]) == 2) result[2]++; if(map[0][j] == 1 && (map[1][j] + map[0][j - 1] + map[0][j + 1]) == 1) result[3]++; } for(j = 1; j < 99; j++){ if(map[99][j] == 1 && (map[98][j] + map[99][j - 1] + map[99][j + 1]) == 3) result[1]++; if(map[99][j] == 1 && (map[98][j] + map[99][j - 1] + map[99][j + 1]) == 2) result[2]++; if(map[99][j] == 1 && (map[98][j] + map[99][j - 1] + map[99][j + 1]) == 1) result[3]++; } for(i = 1; i < 99; i++){ if(map[i][0] == 1 && (map[i][1] + map[i + 1][0] + map[i - 1][0]) == 3) result[1]++; if(map[i][0] == 1 && (map[i][1] + map[i + 1][0] + map[i - 1][0]) == 2) result[2]++; if(map[i][0] == 1 && (map[i][1] + map[i + 1][0] + map[i - 1][0]) == 1) result[3]++; } for(i = 1; i < 99; i++){ if(map[i][99] == 1 && (map[i][98] + map[i + 1][99] + map[i - 1][99]) == 3) result[1]++; if(map[i][99] == 1 && (map[i][98] + map[i + 1][99] + map[i - 1][99]) == 2) result[2]++; if(map[i][99] == 1 && (map[i][98] + map[i + 1][99] + map[i - 1][99]) == 1) result[3]++; } if(map[0][0] == 1 && (map[0][1] + map[1][0]) == 2) result[2]++; if(map[0][0] == 1 && (map[0][1] + map[1][0]) == 1) result[3]++; if(map[0][99] == 1 && (map[0][98] + map[1][99]) == 2) result[2]++; if(map[0][99] == 1 && (map[0][98] + map[1][99]) == 1) result[3]++; if(map[99][0] == 1 && (map[98][0] + map[99][1]) == 2) result[2]++; if(map[99][0] == 1 && (map[98][0] + map[99][1]) == 1) result[3]++; if(map[99][99] == 1 && (map[98][99] + map[99][98]) == 2) result[2]++; if(map[99][99] == 1 && (map[98][99] + map[99][98]) == 1) result[3]++; return; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59
m80126colin:四個鄰居如果是-3 4 2 -1呢?? 10/18 22:04
alvinyuan:咦 根據題目的定義 鄰居不是只有可能出現0和1嗎 10/18 22:12
alvinyuan:對吼 好像沒有說非1就是0= = 10/18 22:14
math120908:話說題目沒說 可是其實應該非0則1的樣子XD 10/18 23:00
alvinyuan:是唷 剛剛還在用力想不限定1和0該怎麼寫 10/18 23:02
alvinyuan:那這樣我是錯在哪呀= = 10/18 23:02
math120908:你對於result[2]的狀況都有點錯 因為像 10/18 23:04
math120908: 0 10/18 23:04
math120908:111 10/18 23:04
math120908: 0 這種狀況會不是result[2]可是你會算到~ 10/18 23:05
alvinyuan:呼 10分了 真的很感謝唷 10/18 23:54