❌6603-로또
남이 푼거
int size, numList[49];
int visited[49];
vector <int> visitedPath;
const int PICK_NUM = 6;
void dfs(int start, int count) {
if(count >= 6) {
for(int i = 0; i<count; i++) {
cout<<visitedPath[i]<<" ";
}
cout<<endl;
return;
} else {
for(int i = start + 1; i<size; i++) {
if(!visited[i]) {
// visited[i] = true;
visitedPath.push_back(numList[i]);
count += 1;
dfs(i, count);
visitedPath.pop_back();
count -= 1;
}
}
}
// for(int i = start + 1; i < size; i+=1) {
// visited[i] = false;
// }
}
int main() {
cin>>size;
for(int i = 0; i<size; i+=1) {
cin>>numList[i];
}
while(size != 0) {
for(int i = 0; i<=size-PICK_NUM; i+=1) {
visitedPath.push_back(numList[i]);
dfs(i, 1);
visitedPath.pop_back();
}
cout<<endl;
cin>>size;
for(int i = 0; i<size; i+=1) {
cin>>numList[i];
}
}
return 0;
}Last updated
Was this helpful?