C언어/문제풀다 하나씩
등수일때는 index-1하기
mcdn
2020. 5. 27. 22:09
반응형
#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
반응형