BOJ 4195 친구 네트워크
지금까지 Union Find 문제에서 입력은 정수 였습니다.
하지만 이 문제에서는 입력을 정수가 아닌 문자열로 받았습니다.
따라서 저는 Map 을 이용하여 문자열을 key로, 정수를 value로 잡았습니다.
Map에서 문자열(이름)은 바뀌지 않습니다. 그리고 map의 value 와 Union 되었는지를 판단하는 벡터가 value로 연동되어 일반적인 Union Find 함수를 사용할 수 있습니다.
특이사항으로, 전역변수로 설정한 vector, map을 매 테스트 케이스마다 리셋 해주어야 했습니다. 저는 벡터를 선언할 때 100001개로 설정을 했는데, vector.clear()를 사용하면
size를 0으로 만들어 버립니다. 따라서 clear 대신 fill을 사용하였습니다.
소스코드 :
#include
#include
#include
#include
댓글
댓글 쓰기