반응형
#include <iostream>
#include <string>
using namespace std;
char zoo[7] = "DTMRWC"; // 'D'를 0의 자리에 둔닷
char path[7];
int used[7];
int a, b;
int cnt;
void dfs(int lev) {
if (path[a-1] == 'D'|| path[b-1] == 'D')return;
if (lev == 6) {
cnt++;
//if (path[0] == 'T')cout << path << endl;
return;
}
for (int i = 0; i < 6;i++) {
if (used[i] == 0) {
used[i] = 1;
path[lev] = zoo[i];
dfs(lev + 1);
path[lev] = 0;
used[i] = 0;
}
}
}
int main() {
cin >> a >> b;
// 1, 6 이 자리는 피해주세요
dfs(0);
cout << cnt;
}
[출력]
뽀삐가 a, b 등수가 되는 경우를 제외한 나머지의 경우의 수를 출력해주세요.
입력 예제
1 6
출력 결과
480
반응형
'C언어 > 문제풀다 하나씩' 카테고리의 다른 글
음료 포인트 계산하기 쉬움. (0) | 2020.06.04 |
---|---|
주변도 같이 사라지는 배열에서 재귀구현 노가다 (0) | 2020.05.29 |
trial and error! 연산자 순열 문제 (0) | 2020.05.29 |
경로 찾기 장애물 있고 (0) | 2020.05.29 |
string == 이거 된다! (0) | 2020.05.27 |
동전 개수 세기 (0) | 2020.05.27 |
다른 블로그 참고한 조합 재귀방법 0자리를 비우고 for 문 안 씀 (0) | 2020.05.27 |
더 직관적인 char int 바꾸기 (0) | 2020.05.27 |