바이러스를 3개 선택해 활성바이러스로 만들고, 0이 있는 칸을 모두 바이러스로 퍼트렸다. 비활성 바이러스가 활성이 되었을 땐, 걸린 시간으로 체크하지 않았다. 너무 까다롭다.. 진짜 까다롭다..
바이러스를 놓을 수 있는 가능성의 위치를 저장한 뒤 nCr로 돌려준다.
벽을 세울수 있는 가능성의 0을 다 집어넣어서 nC3으로 계산해준다
ArrayList를 사용하면 시간초과가 발생해서 덱을 써봤다.
1. 순열조합 방식 2. DFS
처음에는 union set으로 접근해봤는데 DFS 두 번 사용해서 푼다면 더 쉽게 풀 수 있는 거 같다. 모두 0이거나 모두 1이면 안되는데 이 케이스는 고려해주지 않아도 되는건가..? 소스가 돌아가서 이상하다
C++ 방식으로 푼 안전영역 DFS 방식 BFS방식
자유로운 창작이 가능한 기본 포스트
소장본, 굿즈 등 실물 상품을 판매하는 스토어
정기 후원을 시작하시겠습니까?
설정한 기간의 데이터를 파일로 다운로드합니다. 보고서 파일 생성에는 최대 3분이 소요됩니다.
포인트 자동 충전을 해지합니다. 해지하지 않고도 ‘자동 충전 설정 변경하기' 버튼을 눌러 포인트 자동 충전 설정을 변경할 수 있어요. 설정을 변경하고 편리한 자동 충전을 계속 이용해보세요.
중복으로 선택할 수 있어요.