티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 15439번 베라의 패션

https://www.acmicpc.net/problem/15439

 

15439번: 베라의 패션

베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다. 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까?

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

N개의 상의와 N개의 하의가 있고 i번째 상의와 하의는 같은 색상임

N개의 색이 모두 다를 때 상의와 하의가 서로 다른 색상의 조합을 출력

 

2. 풀이

상의로 선택할 수 색상은 N개이고,

하의는 상의 색상을 제외한 나머지 색 중에서 선택할 수 있으므로 (N - 1)개 입니다.

따라서 N * (N - 1)을 출력하면 됩니다.

 

edge case를 고려하면 아래와 같습니다.

1) (N == 1) 서로 다른 조합이 없어서 0이 출력되어야 하는데, 1 * (1 - 1) = 0이므로 따로 처리하지 않습니다.

2) (N == 2017) 출력 최대값은 2,017 * 2,016 = 4,066,272이므로 "%d"로 출력해도 충분합니다.

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
/*
15439_베라의 패션
1112KB	0ms
*/
#include <cstdio>

int N;

int main() {
#ifdef _WIN32
	freopen("input.txt", "r", stdin);
#endif // _WIN32
	scanf("%d", &N);
	printf("%d\n", N * (N - 1));
	return 0;
}

 

728x90
반응형
댓글