2018. 6. 14. 16:23, 알고리즘/BOJ
https://www.acmicpc.net/problem/1722
뭔가 쉬우면서도 막상 풀려고 하면 조금 껄끄러운 문제인데, 한 번 풀어봤습니다. 일단 20!이 int 범위를 벗어나니 long long을 써야 합니다.
우리가 손으로 구하는 과정을 생각해보면 코드도 이해할 수 있는데, 예를 들어
N=4일 때 2 4 1 3이 몇 번째인지 알려면
1 X X X 꼴이 전부 앞에 등장했으니 3!을 더해주고
1 2 X X , 1 3 X X 꼴이 전부 앞에 등장했으니 2!*2를 더해줘서 11번째로 등장함을 알 수 있습니다.
역도 마찬가지입니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 9250번: 문자열 집합 (0) | 2018.06.17 |
---|---|
[BOJ] 1080번: 행렬 (0) | 2018.06.17 |
[BOJ] 1138번: 한 줄로 서기 (0) | 2018.06.15 |
[BOJ] 13325번: Binary Tree (0) | 2018.06.13 |
[BOJ] 6198번: Bad Hair Day (2) | 2018.06.13 |
[BOJ] 3038번: JOGURT (4) | 2018.06.13 |
Comments