176, 3/9 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   Ilios
   [¿¬½À¿ë CÀÚÀÛ] ½ºµµÄí ¼Ò½º

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1460 [º¹»ç]


#include<fstream>
using namespace std;

file *fin=fopen("input.txt", "r");
file *fout=fopen("output.txt", "w");

void back(int point);

int data[10][10];
int row_chk[10][10], col_chk[10][10];
int square_num[10][10], square_chk[10][10], square_cnt;
int zero_point[110][3], zero_cnt;

int main(){
    int i, j, k, l;
    for(i=1; i<=9; i+=3){
        for(j=1; j<=9; j+=3){
            square_cnt++;
            for(k=i; k<i+3; k++){
                for(l=j; l<j+3; l++){
                    square_num[k][l] = square_cnt; // 3*3 ¹è¿­ Å©±â·Î °¢ »ç°¢Çü¿¡ ¹øÈ£¸¦ ºÎ¿©
                }
            }
        }
    }
    for(i=1; i<=9; i++){
        for(j=1; j<=9; j++){
            fscanf(fin, "%d", &data[i][j]); // data[i][j] ¸¦ ÀԷ¹޴´Ù.
            if(data[i][j]){
                row_chk[i][data[i][j]]=1; // °¡·ÎÁ٠üũ ¹è¿­¿¡ data[i][j] °¡ ¾²¿´´Ù´Â °ÍÀ» üũ
                col_chk[j][data[i][j]]=1; // ¼¼·ÎÁ٠üũ ¹è¿­¿¡ data[i][j] °¡ ¾²¿´´Ù´Â °ÍÀ» üũ
                square_chk[square_num[i][j]][data[i][j]]=1; // »ç°¢Çü üũ ¹è¿­¿¡ data[i][j] °¡ ¾²¿´´Ù´Â °ÍÀ» üũ
            }
            else{
                zero_point[++zero_cnt][1] = i; // 0ÀÇ °³¼ö¸¦ ¼¼Áָ鼭 0ÀÇ ÁÂÇ¥¸¦ ÀúÀåÇسõ´Â´Ù
                zero_point[zero_cnt][2] = j;
            }
        }
    }
    back(0); // ¹éÆ®·¹Å· ½ÃÀÛ
    fclose(fin);
    fclose(fout);
    return 0;
}
void back(int point){
    int i, j;
    int x, y;
    if(point == zero_cnt){ // 0À» ¸ðµÎ ä¿ü´Ù¸é
        for(i=1; i<=9; i++){
            for(j=1; j<=9; j++){
                fprintf(fout, "%d ", data[i][j]); // Ãâ·Â
            }
            fprintf(fout, "\n");
        }
        exit(0); // ´õ µ¹¸é ¾È µÇ´Ï±î Á¾·á
    }
    x = zero_point[point+1][1]; // point+1 ¹ø°ÀÇ 0ÀÇ ÁÂÇ¥¸¦ ¾ò¾î¿È
    y = zero_point[point+1][2];
    for(i=1; i<=9; i++){
        if(!row_chk[x][i] && !col_chk[y][i] && !square_chk[square_num[x][y]][i]){ // data[x][y] ¿¡ ³ÖÀ» i°ªÀÌ ÀÌ¹Ì ¾²¿´´ø °ªÀÎÁö È®ÀÎ
            row_chk[x][i] = col_chk[y][i] = square_chk[square_num[x][y]][i] = 1; // ¾²¿´´Ù°í üũ
            data[x][y] = i; // data[x][y] ¿¡ °ªÀ» ä¿ö³Ö´Â´Ù.
            back(point + 1); // ´ÙÀ½ 0À» ÇâÇØ ÀüÁø¤»
            data[x][y] = row_chk[x][i] = col_chk[y][i] = square_chk[square_num[x][y]][i] = 0; // µ¹¾Æ¿À¸é¼­ ÃʱâÈ­(´ÙÀ½ ÀÛ¾÷À» À§ÇØ)
        }
    }
}

»ç¿ë¹ý
: exe ÆÄÀÏÀÌ ÀÖ´Â Æú´õ ¾È¿¡ input.txt ¿Í output.txt ¸¦ »ý¼ºÇØ ³õÀº ÈÄ
input ÆÄÀÏ ¾È¿¡ ½ºµµÄí Çü½ÄÀ¸·Î °ªÀ» ÀÔ·ÂÇØ ³õÀº ÈÄ ½ÇÇàÇÑ´Ù.
(ÀÔ·Â Çü½ÄÀº ºó Ä­À» 0À¸·Î ä¿ö³Ö°í, ¶ç¾î¾²±â¸¦ ÇÏ¸é µË´Ï´Ù.)

¾Ë°í¸®Áò(?)
:  ¹éÆ®·¹Å· ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇß½À´Ï´Ù.
°¡·ÎÁ٠üũ ¹è¿­°ú ¼¼·ÎÁ٠üũ ¹è¿­, 1¹ø ºÎÅÍ 9¹ø ±îÁöÀÇ Ã¼Å© ¹è¿­À» ÀÌ¿ëÇؼ­,
0À¸·Î üũµÈ ºñ¾îÀÖ´Â Ä­¿¡ °ªÀ» Áý¾î³Ö°í ´ÙÀ½ ºóÄ­À¸·Î ÁøÇàÇÏ´Ù°¡, ´õ ÀÌ»ó ÁøÇàÇÒ ¼ö ¾ø´Ù°í ÆǴܵǴ °÷(³ÖÀ» °ªÀÌ ÇÑÁ¤µÇ¾î ÀÖÁö¸¸, ±× °ªµéÀÌ ¸ðµÎ üũ ¹è¿­¿¡ ÀÌ¹Ì Ã¼Å©°¡ µÇ¾î ÀÖ´Â »óÅÂÀÏ ¶§)¿¡¼­ return ÇØ µ¹¾Æ¿Í¼­ ´Ù½Ã ´Ù¸¥ °ªÀ» Áý¾î³Ö´Â ½ÄÀ¸·Î ÇÏ¿´½À´Ï´Ù.

- ¿¹Àü¿¡ Á¤¿ÃÁغñÇÒ´ë Çß¾ú´ø °Çµ¥, ´Ù½Ã º¸´Ï »õ·Ó³×¿ä; Âü°í·Î ÀÌ°Ç À©µµ¿ìÀÇ Visual Studio C++ ȯ°æ¿¡¼­ Á¦ÀÛÇÑ°Ì´Ï´Ù.

¿¹½Ã)
input)
4 0 5 0 0 0 8 0 0
3 9 0 0 0 0 5 0 0
1 0 0 0 0 0 0 0 2
0 0 0 0 0 4 0 0 0
6 8 0 0 0 0 0 0 1
2 0 0 0 9 1 0 0 0
0 0 0 4 5 0 0 9 0
0 0 2 0 0 0 3 0 0
9 1 0 0 8 0 0 0 4

output)
4 2 5 9 1 7 8 6 3
3 9 8 2 4 6 5 1 7
1 6 7 5 3 8 9 4 2
7 5 1 8 2 4 6 3 9
6 8 9 3 7 5 4 2 1
2 3 4 6 9 1 7 8 5
8 7 3 4 5 2 1 9 6
5 4 2 1 6 9 3 7 8
9 1 6 7 8 3 2 5 4

  Hit : 20087     Date : 2010/05/24 01:02



    
kjwon15 ÁÁÀº ¼Ò½º³×¿ä..
°³ÀÎ ¼ÒÀå Çصµ µÇÁÒ?
2010/05/26  
rlawldhs6996 ¿Í¿ì ¼ö°í Çϼ˾î¿ä¤» 2010/05/26  
Ilios kjwon15 // ³× ¹°·ÐÀÔ´Ï´Ù ¤¾¤¾¤¾¤¾¤¾
rlawldhs6996 // °¨»çÇÕ´Ï´Ù ^^ ¤»
2010/05/26  
kji0331 ºñº£¿¡ ÇصΠµÇ³ª¿ä? 2010/08/10  
Cpgroot ¼ö°í ÇϼËÀ½ ..¤» 2010/08/18  
136   [Æß]¸®´ª½º ¸í·É¾î ¸ðÀ½ -3     G.O.D
08/28 10328
135   [Æß]¸®´ª½º ¸í·É¾î ¸ðÀ½ -2     G.O.D
08/28 7455
134   [Æß]¸®´ª½º¸í·É¾î ¸ðÀ½ -1[3]     G.O.D
08/28 7531
133   ÇØÅ·±â¹ýµéÀÇ ±âº»ÀûÀÎ °³³ä::IPC ½º´ÏÇÎ(IPC Sniffing),ÄÚµåÆÐÄ¡(Code patch)Æí.     Feverbear
08/28 8212
132   ¸®´ª½º vi ¿¡µðÅÍ°¡ ¾î·Á¿ì½Å ºÐµé²²![3]     o¿£¿äo
08/26 7460
131   [ÀÚÀÛ] W's ¾ÏÈ£ÇÐ(Cryptology) - ¸ð½ººÎÈ£.[8]     williamlee
07/26 10905
130   Windows XP - ÇØÅ· »çÀü ŽÁö ¹æ¹ý [ °£´ÜÇÑ Ãʺ¸ TIP ] 2[11]     Ǫ¸¥ÇÏ´Ã
06/17 8739
129   Windows XP - ÇØÅ· »çÀü ŽÁö ¹æ¹ý [ °£´ÜÇÑ Ãʺ¸ TIP ][11]     Ǫ¸¥ÇÏ´Ã
06/17 9834
  [¿¬½À¿ë CÀÚÀÛ] ½ºµµÄí ¼Ò½º[5]     Ilios
05/24 20086
127   [ÀÚÀÛ] [C¹®Á¦] ¼Ò¼ö¸¸ °É·¯³»±â[2]     ¼Ò¿ï
03/20 8083
126   [ÀÚÀÛ] [C¹®Á¦] Á¡(.)À» »« ¹®ÀÚ Ãâ·ÂÇϱâ[1]     ¼Ò¿ï
03/20 6880
125   [ÀÚÀÛ]RedHat 6.2 ȯ°æ¿¡¼­ BOF exploit ¸¸µé±â[6]     buff3r
03/17 13400
124   [ÀÚÀÛ]À©µµ¿ì!! ¼û°ÜÁø ³ÊÀÇ ¸ð½ÀÀ» º¸¿©Áà!!! - 5 -[6]     º°ºûÀ»´ã¾Æ
03/02 7160
123   [ÀÚÀÛ] FTZ Æ®·¹ÀÌ´× 1~10±îÁö °£´ÜÇÏ°Ô Á¤¸®[14]     ¼Ò¿ï
03/01 15122
122   [Á¤¸®] ÇØÄ¿½ºÄð F.T.Z trainer Á¤¸® 6 ~ 10[2]     ÃÊÄÝ·¿³ªÀÎ
03/01 18151
121   [ÀÚÀÛ]ÇØÄ¿½ºÄð 2th ÇØÅ·Ä·ÇÁ Mini CTF Ç®ÀÌ[25]     CodeAche
02/22 7723
120   BT3¿Í BT4¸¦ ¸ÖƼºÎÆà Çغ¸ÀÚ.[6]     kjwon15
02/22 8141
119   [ÀÚÀÛ]±¸±Û±³ ±³ÁÖÀÇ ±¸±Û ½Åµµµé¿¡°Ô º¸³»´Â ÆíÁö[14]     Sc0rpion
02/17 7512
118   [ÀÚÀÛ]À©µµ¿ì!! ¼û°ÜÁø ³ÊÀÇ ¸ð½ÀÀ» º¸¿©Áà!!! - 4 -[18]     º°ºûÀ»´ã¾Æ
02/17 7509
117   [ÀÚÀÛ] ssh / sftp »ç¿ë¹ý Á¤¸® (Æ÷Æ®¼³Á¤½Ã)[1]     soohosin
02/15 21302
[ÀÌÀü °Ë»ö]...[1][2] 3 [4][5][6][7][8][9]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org