N과 M (1)

computer_log·2023년 8월 30일
0

[코드]

#include <iostream>
#include <cstring>
using namespace std;

char path[10];
int n;
int m;

void run(int lev) {
	if (lev == m) {
		for (int i = 0; i < m; i++) {
			cout << path[i] << " ";
		}
		cout << endl;
		return;
	}
	for (int i = 1; i <= 4; i++) {
		if (lev > 0 && path[lev - 1] == i + '0')continue;
		path[lev] = i + '0';
		run(lev + 1);
		path[lev] = 0;
	}

}
int main() {

	cin >> n >> m;
	run(0);

	return 0;
}

[출력]
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3

profile
computer_log

0개의 댓글