ÀüüÀûÀÎ È帧À» Á¤È®ÇÏ°Ô Àâ°í Á¦´ë·Î ÈǸ¢ÇÏ°Ô ÀÛ¼ºµÈ°Å °°½À´Ï´Ù.
ÄÄÇ»ÅÍ »ç¾çÀÌ ¾î¶»°Ô µÇ´ÂÁö ¸ð¸£°ÚÁö¸¸ ÀÛ¼ºÇϽŠÇÁ·Î±×·¥À¸·Î ÀϺΠ¹®¹ý ¼öÁ¤¸¸ Çؼ Á¤¿Ã¿¡¼ äÁ¡Çϸé ÃæºÐÇÏ°Ô ½Ã°£³»¿¡ Ãâ·ÂÀÌ µÇ°í 100Á¡À» ¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù.
(Àü±¹´ëȸ äÁ¡ÇÏ´Â ÄÄÇ»ÅÍ´Â Á¤¿Ãº¸´Ù ³ôÀº »ç¾çÀÔ´Ï´Ù.)
½Ã°£À» ´õ ÁÙÀÏ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î´Â °¡ÁöÄ¡±â¸¦ ÇÏ¸é µÇ´Âµ¥ ÀÌ °æ¿ì¿¡´Â ÀÔ·ÂµÈ ³»¿ëÀ» Çϳª¾¿ È®ÀÎÇÏ¸é¼ ¸¸¾à ÇöÀç ÀúÀåµÈ °ªÀÌ ÀÔ·ÂµÈ °ªÀ» ÃÊ°úÇÏ´Â °æ¿ì ´õ ÀÌ»ó ÁøÇàÇÏÁö ¾Ê°í ¸®ÅÏÀ» ÇØÁÖ´Â ¹æ¹ýÀ¸·Î ÇÏ¸é »ó´çÇÑ ½Ã°£À» ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. (¹°·Ð ÀÌ ¹®Á¦¿¡¼´Â ±×·² ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.)
Âü°í·Î º¸´Ù ½Ç·ÂÀ» Å°¿ì±â À§Çؼ´Â ÄÚµù ½À°üÀ» ¸î°¡Áö °íÃÄÁÖ´Â°Ô ¾î¶³±î »ý°¢ÇÕ´Ï´Ù.
Áß¿äÇÑ ³»¿ëÀ» ¸î°¡Áö¸¸ ¸»¾¸µå¸®¸é ´ÙÀ½°ú °°½À´Ï´Ù.
1. for¹® ³»¿¡ int i¿Í °°ÀÌ º¯¼ö¸¦ ¼±¾ðÇÏ´Â °ÍÀº ÄÄÆÄÀÏ·¯¿¡ µû¶ó¼ ÄÄÆÄÀÏ ¿¡·¯¸¦ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î °¡´ÉÇÏ¸é º°µµ·Î ¼±¾ðÀ» ÇÏ´Â °ÍÀÌ ÁÁÀ» µí ÇÕ´Ï´Ù.
2. Àü¿ªº¯¼ö·Î ¼±¾ðÀ» Çϸé Á¤¼öÀÇ °æ¿ì ±âº»°ªÀÌ 0À¸·Î ÃʱâÈ µÇ¹Ç·Î ´Ù½Ã ÃÖ±âÈÇϱâ À§ÇÑ ÄÚµùÀº ºÒÇÊ¿äÇÕ´Ï´Ù.
3. main ÇÔ¼ö¿¡ return 0; ÀÌ »ý·«µÇ¾î ÀÖ±º¿ä.
4. Àç±ÍÇÔ¼ö¿¡¼ bÀÇ °ª¿¡ µû¶ó µ¿ÀÏÇÑ È£ÃâÀÌ ¿©·¯±ºµ¥ ºÐ»êÀÌ µÇ¹Ç·Î ÇÁ·Î±×·¥ÀÌ º¹ÀâÇØ º¸ÀÔ´Ï´Ù. ÀÌ·±¶§´Â ±×³É ÇÑ°¡Áö·Î È£ÃâÀ» ÇÑ ÈÄ¿¡ Àç±ÍÇÔ¼ö ³»¿¡¼ º¸Á¤À» ÇØÁÖ¸é ÇÁ·Î±×·¥ÀÌ ¹«Ã´ ½ÉÇÃÇØ Áú ¼ö ÀÖ½À´Ï´Ù.
5. ÃÖÁ¾ÀûÀ¸·Î È®ÀÎÀ» ÇÏ´Â ºÎºÐ¿¡¼µµ µ¿ÀÏÇÑ ¹®ÀåÀÌ ¿©·¯¹ø ¹Ýº¹ÀÌ µË´Ï´Ù. ÀÌ·± °æ¿ì¿¡µµ for¹®À» »ç¿ëÇÏ¿© µ¿ÀÏÇÑ ¹®ÀåÀ» Çϳª·Î ÁÙÀ̰ųª, °£´ÜÇÏ°Ô È®ÀÎÇÏ´Â ÇÔ¼ö Çϳª¸¦ ÀÛ¼ºÇÏ¿© È£ÃâÀ» Çϸé ÇÁ·Î±×·¥ÀÌ ¹«Ã´ °£´ÜÇØ Áý´Ï´Ù.
Âü°í·Î µÎ°¡Áö ÇüÅ·Π¼öÁ¤ÇÑ ¼Ò½º¸¦ ¿Ã·Áµå¸®´Ï Âü°íÇϽñ⠹ٶø´Ï´Ù.
for¹®À» ÀÌ¿ëÇÑ ÄÚµù
#include <stdio.h>
int w[5][7][4];
int c[7][4];
int chk[5];
void world(int a, int b)
{
int i, j, k;
if(b>6) {
a++;
b=a+1;
}
if(a==6) {
for(i=1;i<=4;i++) {
if(chk[i]==1) continue;
chk[0]=1;
for(j=1;j<=6;j++) {
for(k=1;k<=3;k++) {
if(c[j][k]!=w[i][j][k]) {
chk[0]=0;
break;
}
}
if(chk[0]==0) break;
}
chk[i]=chk[0];
}
return;
}
c[a][1]++; c[b][3]++;
world(a,b+1);
c[a][1]--; c[b][3]--;
c[a][2]++; c[b][2]++;
world(a,b+1);
c[a][2]--; c[b][2]--;
c[a][3]++; c[b][1]++;
world(a,b+1);
c[a][3]--; c[b][1]--;
}
int main()
{
int i,j,k;
FILE*fin = fopen("INPUT.TXT","r");
for(i=1;i<=4;i++) {
for(j=1;j<=6;j++) {
for(k=1;k<=3;k++) {
fscanf(fin,"%d",&w[i][j][k]);
}
}
}
fclose(fin);
world(1,2);
FILE*fout=fopen("OUTPUT.TXT","w");
fprintf(fout,"%d %d %d %d",chk[1],chk[2],chk[3],chk[4]);
fclose(fout);
return 0;
}
check ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ÄÚµù
#include <stdio.h>
int w[5][7][4];
int c[7][4];
int chk[5];
int check(int num)
{
int chk=0, i, j;
for(i=1;i<=6;i++) {
for(j=1;j<=3;j++) {
if(c[i][j]!=w[num][i][j]) {
return 0;
}
}
}
return 1;
}
void world(int a, int b)
{
int i;
if(b>6) {
a++;
b=a+1;
}
if(a==6) {
for(i=1;i<=4;i++) {
if(chk[i]==0) chk[i]=check(i);
}
return;
}
c[a][1]++; c[b][3]++;
world(a,b+1);
c[a][1]--; c[b][3]--;
c[a][2]++; c[b][2]++;
world(a,b+1);
c[a][2]--; c[b][2]--;
c[a][3]++; c[b][1]++;
world(a,b+1);
c[a][3]--; c[b][1]--;
}
int main()
{
int i,j,k;
FILE*fin = fopen("INPUT.TXT","r");
for(i=1;i<=4;i++) {
for(j=1;j<=6;j++) {
for(k=1;k<=3;k++) {
fscanf(fin,"%d",&w[i][j][k]);
}
}
}
fclose(fin);
world(1,2);
FILE*fout=fopen("OUTPUT.TXT","w");
fprintf(fout,"%d %d %d %d",chk[1],chk[2],chk[3],chk[4]);
fclose(fout);
return 0;
}