https://leetcode.com/problems/beautiful-arrangement/description/
void count(int N, vector<bool>& fil, int& res) {
if(N==0) {res++; return;}
for(int i=fil.size()-1; i>=0; i--) {
if(!fil[i] && (N%(i+1)==0 || (i+1)%N==0)){
fil[i] = true;
count(N-1, fil, res);
fil[i] = false;
}
}
}
int countArrangement(int N) {
int res = 0;
vector<bool> fil(N, false);
count(N, fil, res);
return res;
}
No comments:
Post a Comment