지도에서 모든 포리스트 클러스터를 찾는 방법은 무엇입니까? (유형 열거 {강, 숲, 잔디, 힐}지도에서 모든 포리스트 클러스터를 찾는 방법은 무엇입니까?
class Cell{
public:
Type type;
int x;
int y
};
을하고 vector<Cell> grid
같은지도처럼 나는 간단한 클래스 세포가 있습니다. 목록이 동일한 클러스터에서 FOREST 세포를 포함하는 경우 누군가가 (나를 list<list<Cell>> clusters
을 만들 산법 클러스터를 제안 할 수 up, down, left, right, up_right, up_left, down_left, down_right)? 모든 포리스트 클러스터를지도에서 찾아서 모든 단일 클러스터를
"클러스터"를 정의하십시오. 연결된 모든 FOREST 셀 집합입니까? 대각선은 중요합니까? – CrazyCasta
이것에 대해 자세히 설명해 주시겠습니까? 무엇을 사용하고 있으며 클러스터는 어떻게 정의되어 있습니까? 클러스터는 단순히 포리스트 유형의 다른 요소에 인접한 포리스트 유형의 모든 요소입니까? –
[union-find 알고리즘] (http://en.wikipedia.org/wiki/Disjoint-set_data_structure)을 찾으십시오. 경로 압축을 사용하면 이후에 구조를 살펴보고 각 루트에 대한 목록을 만들어 적절한 목록에 셀을 추가 할 수 있습니다. – paddy