SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Weekly CodingCOCI 2013/2014 Contest #2 5번
9521 색칠공부
• 1 ~ N번의 그림
• K가지의 색
• i번째 그림의 색은 fi번 그림의 색과 다르게
• N, K <= 1,000,000
• 색칠할 수 있는 경우의 수?
접근
• 경우의 수 => DP?
접근
• 경우의 수 => DP?
• 그림의 수 100만, 색깔 수도 100만
• 망...
그린다 !
• A -> B 는 A는 B와 색이 다르다는 뜻(fA = B)
• 각 정점에서 출발하는 간선은 하나씩만 존재
그린다 !
• A -> B 는 A는 B와 색이 다르다는 뜻(fA = B)
• 각 정점에서 출발하는 간선은 하나씩만 존재
3
6 4
5
2
1
9
7 8
그린다 !
• A -> B 는 A는 B와 색이 다르다는 뜻(fA = B)
• 각 정점에서 출발하는 간선은 하나씩만 존재
3
6 4
5
2
1
9
7 8
직선 형태
• V개의 정점이 직선 형태를 이룸
• 끝 정점의 색이 정해졌을 때, 나머지 정점의 색을 칠하는 경우의 수
321
K – 3번 색 K - 어떤 색K - 2번 색
4
어떤 색
직선 형태
• V개의 정점이 직선 형태를 이룸
• 끝 정점의 색이 정해졌을 때, 나머지 정점의 색을 칠하는 경우의 수
321
K – 3번 색 K - 어떤 색K - 2번 색
(K – 1) * (K – 1) * .. = (K – 1)^(V – 1)
4
어떤 색
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
21
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
21
K * (K – 1)
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
K * (K – 1) * (K – 2)
3
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
5
4
X != Y
V-1개
Color X Color Y
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
5
4
V개
X != Y
Color X Color Y
Color Z
Z != X, Z != Y
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
5
4
V개
X != Y
Color X Color Y
Color Z
Z != X, Z != YP[V] = P[V–1] * (K-2)
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
X != Y
2
1
3
5
4
V-2개
Color X Color Y
6
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
5
4
V개
Color X Color Y
Color Z
6
X != Y
Color X
Z != X
원형 형태
• V개의 정점이 Cycle을 이룸
• Cycle의 모든 정점들의 색을 칠하는 경우의 수
2
1
3
5
4
V개
Color X Color Y
Color Z
P[V] = (P[V-1] * (K–2)) + (P[V–2] * (K-1))
6
X != Y
Color X
Z != X
Cycle 구성 정점
• Cycle을 탐색하면서 방문 번호를 붙인다.
• 한 바퀴 돌아서 왔을 때, (방문 번호) – (이전 방문 번호)가
해당 Cycle을 구성하는 정점의 개수가 된다.
답!
• 각 Cycle의 구성 정점 개수에 따른 칠하는 방법의 수의 곱과
• (K – 1)^Cycle에 속하지 않은 정점의 개수
답!
• 각 Cycle의 구성 정점 개수에 따른 칠하는 방법의 수의 곱과
• (K – 1)^Cycle에 속하지 않은 정점의 개수
• Mod 연산만 잘 해주면 되는 수학문제

Más contenido relacionado

Destacado

부산은행 캐치프레이즈 제안서 동의대학교
부산은행 캐치프레이즈 제안서   동의대학교부산은행 캐치프레이즈 제안서   동의대학교
부산은행 캐치프레이즈 제안서 동의대학교
Kim Min Gu
 
내가 그린 그린(Green) 보완 pt용 완성
내가 그린 그린(Green)   보완 pt용 완성내가 그린 그린(Green)   보완 pt용 완성
내가 그린 그린(Green) 보완 pt용 완성
Kim Min Gu
 
과천 디지털 창작집단 코딩교육 자료 20160422
과천 디지털 창작집단 코딩교육 자료 20160422과천 디지털 창작집단 코딩교육 자료 20160422
과천 디지털 창작집단 코딩교육 자료 20160422
봉조 김
 

Destacado (19)

부산은행 캐치프레이즈 제안서 동의대학교
부산은행 캐치프레이즈 제안서   동의대학교부산은행 캐치프레이즈 제안서   동의대학교
부산은행 캐치프레이즈 제안서 동의대학교
 
컬러베스
컬러베스컬러베스
컬러베스
 
통합적 디자인연구를 위한 디자인 정보분류체계
통합적 디자인연구를 위한 디자인 정보분류체계통합적 디자인연구를 위한 디자인 정보분류체계
통합적 디자인연구를 위한 디자인 정보분류체계
 
2013.08.01. 공공을 위한 디자인 세미나. 이승호 발표 자료
2013.08.01. 공공을 위한 디자인 세미나. 이승호 발표 자료2013.08.01. 공공을 위한 디자인 세미나. 이승호 발표 자료
2013.08.01. 공공을 위한 디자인 세미나. 이승호 발표 자료
 
내가 그린 그린(Green) 보완 pt용 완성
내가 그린 그린(Green)   보완 pt용 완성내가 그린 그린(Green)   보완 pt용 완성
내가 그린 그린(Green) 보완 pt용 완성
 
01 우리시대 코딩(coding) 이야기
01 우리시대 코딩(coding) 이야기01 우리시대 코딩(coding) 이야기
01 우리시대 코딩(coding) 이야기
 
131128 나에게 맞는 색깔 고르기
131128 나에게 맞는 색깔 고르기131128 나에게 맞는 색깔 고르기
131128 나에게 맞는 색깔 고르기
 
macaron package
macaron packagemacaron package
macaron package
 
일관된 컬러 매니지먼트 - Consistent Color Management
일관된 컬러 매니지먼트 - Consistent Color Management일관된 컬러 매니지먼트 - Consistent Color Management
일관된 컬러 매니지먼트 - Consistent Color Management
 
Design for Developer - Color
Design for Developer - ColorDesign for Developer - Color
Design for Developer - Color
 
과천 디지털 창작집단 코딩교육 자료 20160422
과천 디지털 창작집단 코딩교육 자료 20160422과천 디지털 창작집단 코딩교육 자료 20160422
과천 디지털 창작집단 코딩교육 자료 20160422
 
창의적 발상
창의적 발상창의적 발상
창의적 발상
 
스마트로봇 코딩스쿨 설명회 발표자료
스마트로봇 코딩스쿨 설명회 발표자료스마트로봇 코딩스쿨 설명회 발표자료
스마트로봇 코딩스쿨 설명회 발표자료
 
color of modern art
color of modern artcolor of modern art
color of modern art
 
스마트로봇 알버트 코딩교육의 특징 이해
스마트로봇 알버트 코딩교육의 특징 이해스마트로봇 알버트 코딩교육의 특징 이해
스마트로봇 알버트 코딩교육의 특징 이해
 
검색엔진 랭킹 상위 - scs(seo curation suite) 서비스 넥스트티
검색엔진 랭킹 상위 - scs(seo curation suite) 서비스 넥스트티검색엔진 랭킹 상위 - scs(seo curation suite) 서비스 넥스트티
검색엔진 랭킹 상위 - scs(seo curation suite) 서비스 넥스트티
 
스마트로봇 알버트 코딩교실(초등부)
스마트로봇 알버트 코딩교실(초등부)스마트로봇 알버트 코딩교실(초등부)
스마트로봇 알버트 코딩교실(초등부)
 
초등학생 중학생 프로그래밍 교육 과정안(소프트웨어 교육/코딩교육)
초등학생 중학생 프로그래밍 교육 과정안(소프트웨어 교육/코딩교육)초등학생 중학생 프로그래밍 교육 과정안(소프트웨어 교육/코딩교육)
초등학생 중학생 프로그래밍 교육 과정안(소프트웨어 교육/코딩교육)
 
Data experience: Pre-emption
Data experience: Pre-emptionData experience: Pre-emption
Data experience: Pre-emption
 

160110 weekly coding

  • 1. Weekly CodingCOCI 2013/2014 Contest #2 5번
  • 2. 9521 색칠공부 • 1 ~ N번의 그림 • K가지의 색 • i번째 그림의 색은 fi번 그림의 색과 다르게 • N, K <= 1,000,000 • 색칠할 수 있는 경우의 수?
  • 4. 접근 • 경우의 수 => DP? • 그림의 수 100만, 색깔 수도 100만 • 망...
  • 5. 그린다 ! • A -> B 는 A는 B와 색이 다르다는 뜻(fA = B) • 각 정점에서 출발하는 간선은 하나씩만 존재
  • 6. 그린다 ! • A -> B 는 A는 B와 색이 다르다는 뜻(fA = B) • 각 정점에서 출발하는 간선은 하나씩만 존재 3 6 4 5 2 1 9 7 8
  • 7. 그린다 ! • A -> B 는 A는 B와 색이 다르다는 뜻(fA = B) • 각 정점에서 출발하는 간선은 하나씩만 존재 3 6 4 5 2 1 9 7 8
  • 8. 직선 형태 • V개의 정점이 직선 형태를 이룸 • 끝 정점의 색이 정해졌을 때, 나머지 정점의 색을 칠하는 경우의 수 321 K – 3번 색 K - 어떤 색K - 2번 색 4 어떤 색
  • 9. 직선 형태 • V개의 정점이 직선 형태를 이룸 • 끝 정점의 색이 정해졌을 때, 나머지 정점의 색을 칠하는 경우의 수 321 K – 3번 색 K - 어떤 색K - 2번 색 (K – 1) * (K – 1) * .. = (K – 1)^(V – 1) 4 어떤 색
  • 10. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 21
  • 11. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 21 K * (K – 1)
  • 12. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3
  • 13. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 K * (K – 1) * (K – 2) 3
  • 14. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3 5 4 X != Y V-1개 Color X Color Y
  • 15. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3 5 4 V개 X != Y Color X Color Y Color Z Z != X, Z != Y
  • 16. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3 5 4 V개 X != Y Color X Color Y Color Z Z != X, Z != YP[V] = P[V–1] * (K-2)
  • 17. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 X != Y 2 1 3 5 4 V-2개 Color X Color Y 6
  • 18. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3 5 4 V개 Color X Color Y Color Z 6 X != Y Color X Z != X
  • 19. 원형 형태 • V개의 정점이 Cycle을 이룸 • Cycle의 모든 정점들의 색을 칠하는 경우의 수 2 1 3 5 4 V개 Color X Color Y Color Z P[V] = (P[V-1] * (K–2)) + (P[V–2] * (K-1)) 6 X != Y Color X Z != X
  • 20. Cycle 구성 정점 • Cycle을 탐색하면서 방문 번호를 붙인다. • 한 바퀴 돌아서 왔을 때, (방문 번호) – (이전 방문 번호)가 해당 Cycle을 구성하는 정점의 개수가 된다.
  • 21. 답! • 각 Cycle의 구성 정점 개수에 따른 칠하는 방법의 수의 곱과 • (K – 1)^Cycle에 속하지 않은 정점의 개수
  • 22. 답! • 각 Cycle의 구성 정점 개수에 따른 칠하는 방법의 수의 곱과 • (K – 1)^Cycle에 속하지 않은 정점의 개수 • Mod 연산만 잘 해주면 되는 수학문제