[BOJ] 1722번: 순열의 순서

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번째로 등장함을 알 수 있습니다.


역도 마찬가지입니다.


https://github.com/blisstoner/BOJ/blob/master/1722.cpp

'알고리즘 > 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