回答編集履歴
4
追記
answer
CHANGED
@@ -6,4 +6,7 @@
|
|
6
6
|
たとえば適当な1から出発して、隣接する1を全て2に置き換える。それを終えたら他の1から出発して3に置き換える...とかすると、どの数字が一番含まれてるかをカウント(numpyとかにそういう機能ありますね)すれば、最大の島を特定できそうです。
|
7
7
|
|
8
8
|
## 追記2
|
9
|
-
隣接する1同士をすべて連結部としてグラフと考え、networkxとかで最大連結部分を取得するとか。これなら杭=末端とかの把握も簡単でいいかもしれませんね。
|
9
|
+
隣接する1同士をすべて連結部としてグラフと考え、networkxとかで最大連結部分を取得するとか。これなら杭=末端とかの把握も簡単でいいかもしれませんね。
|
10
|
+
|
11
|
+
## 追記3
|
12
|
+
二値画像だと思うことにして、opencvとかで最大の島を探すとかもありそう。(回りくどいですが)
|
3
追記
answer
CHANGED
@@ -2,5 +2,8 @@
|
|
2
2
|
すいません、一番面積が大きいものというのを読み落としていました。
|
3
3
|
迷路探索のようにして、出発杭から各杭への経路を合計するとかでしょうか。(いや、なんか重そうな処理ですね。もっとスマートな手法を他の人が書いてくれそう)
|
4
4
|
|
5
|
-
## 追記
|
5
|
+
## 追記1
|
6
|
-
たとえば適当な1から出発して、隣接する1を全て2に置き換える。それを終えたら他の1から出発して3に置き換える...とかすると、どの数字が一番含まれてるかをカウント(numpyとかにそういう機能ありますね)すれば、最大の島を特定できそうです。
|
6
|
+
たとえば適当な1から出発して、隣接する1を全て2に置き換える。それを終えたら他の1から出発して3に置き換える...とかすると、どの数字が一番含まれてるかをカウント(numpyとかにそういう機能ありますね)すれば、最大の島を特定できそうです。
|
7
|
+
|
8
|
+
## 追記2
|
9
|
+
隣接する1同士をすべて連結部としてグラフと考え、networkxとかで最大連結部分を取得するとか。これなら杭=末端とかの把握も簡単でいいかもしれませんね。
|
2
追記
answer
CHANGED
@@ -1,3 +1,6 @@
|
|
1
1
|
~~たとえば、spikeは隣接する縦横4つの要素のうち3つが非1(0, あるいは外周)というのを利用してはいかがでしょう。~~
|
2
2
|
すいません、一番面積が大きいものというのを読み落としていました。
|
3
|
-
迷路探索のようにして、出発杭から各杭への経路を合計するとかでしょうか。(いや、なんか重そうな処理ですね。もっとスマートな手法を他の人が書いてくれそう)
|
3
|
+
迷路探索のようにして、出発杭から各杭への経路を合計するとかでしょうか。(いや、なんか重そうな処理ですね。もっとスマートな手法を他の人が書いてくれそう)
|
4
|
+
|
5
|
+
## 追記
|
6
|
+
たとえば適当な1から出発して、隣接する1を全て2に置き換える。それを終えたら他の1から出発して3に置き換える...とかすると、どの数字が一番含まれてるかをカウント(numpyとかにそういう機能ありますね)すれば、最大の島を特定できそうです。
|
1
修正
answer
CHANGED
@@ -1,1 +1,3 @@
|
|
1
|
-
たとえば、spikeは隣接する縦横4つの要素のうち3つが非1(0, あるいは外周)というのを利用してはいかがでしょう。
|
1
|
+
~~たとえば、spikeは隣接する縦横4つの要素のうち3つが非1(0, あるいは外周)というのを利用してはいかがでしょう。~~
|
2
|
+
すいません、一番面積が大きいものというのを読み落としていました。
|
3
|
+
迷路探索のようにして、出発杭から各杭への経路を合計するとかでしょうか。(いや、なんか重そうな処理ですね。もっとスマートな手法を他の人が書いてくれそう)
|