목록구현 (3)
레야몬
#include #include #define LOOP(i, N) for(int i=1; i> N >> M; LOOP(i, N) LOOP(j, M) cin >> map[i][j]; } void f(char map[MA][MA], int cnt, int r) { int flag; char fmap[5][MA][MA]; if(cnt==10) return; //10번 이하 memset(fmap, 0, 5*MA*MA); LOOP(i, 4) LOOP(j, N) LOOP(k, M) fmap[i][j][k] = map[j][k]; //왼쪽 if(r!=1) { flag=0; LOOP(i, N) { for(int j=1; jcnt) Min=cnt; if(!flag) f(fmap[1], cnt+1, 1); } //위쪽 i..
#include #include #include #define LOOP(i, N) for(int i=1; i> N; LOOP(i, N) { LOOP(j, N) { cin >> map[i][j]; if(map[i][j]>mv) mv=map[i][j]; } } } void f(int cnt, lld map[MAX_N][MAX_N]) { if(cnt==5) return; lld fmap[5][MAX_N][MAX_N]; memset(fmap, 0, sizeof(lld)*5*MAX_N*MAX_N); for(int i=1; imv) mv=x*2; v.push_back(x*2); x=0; } else { v.push_back(x); x=y; } } else x=y; } } if(x) v.push_back(x); LO..
#include #define LOOP(i, N) for(int i=1; i> matmp[i][j]; ma[i][j]=matmp[i][j] - '0'; int v = ma[i][j]; col[j][v]=row[i][v]=box[(i-1)/3*3 + (j-1)/3][v]=1; } } } void backtracking(int cnt) { if(cnt == 82) { //도착하면 출력 후 종료 LOOP(i, 9) { LOOP(j, 9) cout