14-1-³ª.½ÅÈ£ ±¸Á¶Ã¼

¿¹Á¦ÀÇ È­¸é¿¡ ³ªÅ¸³ª´Â ¾ËÆĺª ¹®ÀÚ¸¦ ¸ÅÆ®¸¯½º°¡ Àΰ£¿¡°Ô º¸³»´Â ½ÅÈ£¶ó°í ÇÏÀÚ. ½ÅÈ£´Â ¿©·¯ °¡Áö ŸÀÔÀÌ ´Ù¸¥ Á¤º¸µé·Î ±¸¼ºµÇ¹Ç·Î ½ÅÈ£¸¦ Á¤ÀÇÇϱâ À§ÇØ ±¸Á¶Ã¼°¡ ÇÊ¿äÇÏ¸ç µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ½ÅÈ£°¡ ¿òÁ÷À̹ǷΠÀÌ·± ±¸Á¶Ã¼°¡ ¹è¿­À» ±¸¼ºÇØ¾ß ÇÑ´Ù. ¿¹Á¦ÀÇ ½ÅÈ£ ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù.

 

struct Signal

{

     BOOL exist;                // ½ÅÈ£ÀÇ Á¸Àç ¿©ºÎ

     char ch;                     // Ãâ·ÂÇÒ ¹®ÀÚ

     int x,y;                            // ÇöÀç ÁÂÇ¥

     int distance;                // À̵¿ÇÒ °Å¸®

     int nFrame;                 // ¼Óµµ

     int nStay;                    // ¼Óµµ¿¡ ´ëÇÑ Ä«¿îÆ®

};

Signal S[MAX];

 

¸ÅÅ©·Î »ó¼ö MAX°¡ 1024·Î Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î S ¹è¿­Àº 1024 Å©±â¸¦ °¡Áö¸ç ÃÖ´ë 1024°³ÀÇ ½ÅÈ£µéÀÌ µ¿½Ã¿¡ »ý¼º, À̵¿ÇÒ ¼ö ÀÖ´Ù. ¸Þ¸ð¸®¸¦ Àý¾àÇϰųª ´õ ¸¹Àº ½ÅÈ£¸¦ »ý¼ºÇÏ°í ½Í´Ù¸é ¿¬°á ¸®½ºÆ®³ª µ¿Àû ¹è¿­À» ¾µ ¼öµµ ÀÖ°ÚÀ¸³ª ¿¹Á¦ ¼öÁØ¿¡¼­´Â Á¤Àû ¹è¿­·Îµµ ÃæºÐÇÏ´Ù. ¸ÞÀÎ ·çÇÁ¿¡¼­´Â ÀÌ ¹è¿­ÀÇ ºóÄ­¿¡ ÁÖ±âÀûÀ¸·Î ½ÅÈ£¸¦ »ý¼ºÇϵµ·Ï µÇ¾î ÀÖ´Ù. ½ÅÈ£ ±¸Á¶Ã¼ÀÇ °¢ ¸â¹öµéÀ» ºÐ¼®ÇØ º¸ÀÚ.

¸ÕÀú exist´Â ÀÌ ½ÅÈ£°¡ Á¸ÀçÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ ÁöÁ¤ÇÑ´Ù. S ¹è¿­ÀÌ Àü¿ªÀ¸·Î ¼±¾ðµÇ¾úÀ¸¹Ç·Î ¸ðµç ½ÅÈ£ÀÇ exist´Â FALSE·Î ÃʱâÈ­µÉ °ÍÀÌ´Ù. ¸ÞÀÎ ·çÇÁ¿¡¼­ ½ÅÈ£¸¦ »ý¼ºÇϸé exist´Â TRUE·Î º¯°æµÇ°í ÀÏ´Ü »ý¼ºµÈ ½ÅÈ£´Â ÀÚ½ÅÀÇ ¹®ÀÚ¸¦ ÀÏÁ¤ ¼Óµµ·Î ¿òÁ÷À̸ç ÁöÁ¤ÇÑ °Å¸®¿¡ µµ´ÞÇÏ¸é »ç¶óÁø´Ù. »ç¶óÁø ½ÅÈ£ÀÇ exist´Â FALSE°¡ µÇ¾î ´Ù¸¥ ½ÅÈ£¸¦ À§ÇØ ÀÚ¸®¸¦ ³» ÁÙ °ÍÀÌ´Ù.

ch´Â ½ÅÈ£ÀÇ ¹®ÀÚÀÌµÇ A~Z±îÁöÀÇ ¾ËÆĺª Áß ÀÓÀÇÀÇ ¹®ÀÚ Çϳª·Î »ý¼ºµÇ¸ç x, y´Â ½ÅÈ£ÀÇ ÇöÀç À§Ä¡ÀÌ´Ù. ½ÅÈ£°¡ ¾Æ·¡·Î ¿òÁ÷À̹ǷΠx´Â »ý¼ºµÉ ¶§ ³­¼ö·Î ÇÑ ¹ø¸¸ ÃʱâÈ­µÇ¸ç y´Â À̵¿½Ã¸¶´Ù °è¼Ó Áõ°¡ÇÑ´Ù. distance´Â ½ÅÈ£ÀÇ À̵¿ °Å¸®¸¦ ÁöÁ¤Çϴµ¥ ÀÌ °Å¸®¸¸Å­ À̵¿Çϸé ÀÚµ¿À¸·Î »ç¶óÁø´Ù. ´ÙÀ½Àº È­¸é Áß¾ÓÂë¿¡¼­ »ý¼ºµÇ¾î ¾Æ·¡·Î À̵¿ÁßÀÎ ½ÅÈ£ 'M'ÀÇ Á¤º¸µéÀÌ´Ù.

x´Â »ý¼ºµÈ ¼öÆò À§Ä¡¸¦ °¡¸®Å°¸ç y´Â ÇöÀç MÀÇ ¼öÁ÷ À§Ä¡°ªÀÌ´Ù. ch´Â Ãâ·ÂÇÒ ¹®ÀÚ ÄÚµå 'M'À» °¡Áö¸ç distance´Â ÀÌ ½ÅÈ£°¡ ¼öÁ÷À¸·Î ¾îµð±îÁö À̵¿ÇÒ °ÍÀΰ¡¸¦ ±â¾ïÇÑ´Ù. ³ª¸ÓÁö ¸â¹ö nFrame°ú nStay´Â ½ÅÈ£ÀÇ À̵¿ ¼Óµµ¸¦ ÅëÁ¦Çϴµ¥ ÀÌ µÎ ¸â¹öÀÇ ¿ªÇÒÀº ´ÙÀ½ Ç׿¡¼­ ¿¬±¸ÇØ º¸µµ·Ï ÇÏÀÚ.

ÀÌ ±¸Á¶Ã¼¿¡ ½ÅÈ£¸¦ »ý¼ºÇÏ´Â Äڵ带 º¸ÀÚ. main ÇÔ¼öÀÇ Áö¿ªº¯¼ö freq´Â ½ÅÈ£°¡ »ý¼ºµÉ È®·üÀ» ÁöÁ¤Çϴµ¥ 15·Î ÃʱâÈ­µÇ¾î ÀÖÀ¸¹Ç·Î 15¹ø¿¡ ÇÑ ¹ø²Ã·Î ½ÅÈ£¸¦ »ý¼ºÇÑ´Ù. (random(freq) == 0) Á¶°Ç¹®Àº 0~14±îÁö ³­¼ö¸¦ ¸¸µç °á°ú°¡ 0ÀÏ ¶§¸¦ ÀǹÌÇϹǷΠ1/15ÀÇ È®·üÀ» ÀǹÌÇÑ´Ù. ºñ±³µÇ´Â °ª 0Àº º° ´Ù¸¥ Àǹ̴ ¾ø°í ´Ü¼øÈ÷ ¸¸µç ³­¼ö ÁßÀÇ Çϳª¸¦ ÀǹÌÇϹǷΠ¹üÀ§³»ÀÇ ÀÓÀÇ ¼öÀ̱⸸ ÇÏ¸é µÈ´Ù. freq¸¦ Áõ°¡½ÃÅ°¸é ½ÅÈ£°¡ ´ú »ý¼ºµÉ °ÍÀÎ°í °¨¼Ò½ÃÅ°¸é ´õ ¸¹Àº ½ÅÈ£°¡ »ý¼ºµÇ¸ç freq°¡ 1ÀÌ¸é ¸Å¹ø ½ÅÈ£¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù.

½ÅÈ£¸¦ »ý¼ºÇÒ ¶§´Â S ¹è¿­¿¡¼­ ½ÅÈ£°¡ µé¾î ÀÖÁö ¾ÊÀº ºóÄ­À» ¸ÕÀú ã´Âµ¥ óÀ½ºÎÅÍ ¼øȸÇϸ鼭 exist°¡ FALSEÀÎ Ä­À» ã´Â´Ù. °Ë»ö ¹æ¹ýÁß¿¡ °¡Àå °£´ÜÇÑ ¼øÂ÷ °Ë»öÀ» ¾²´Â °ÍÀÌ´Ù. ¸¸¾à MAX±îÁö ·çÇÁ¸¦ µ¹¾Ò´Âµ¥ ºó Ä­ÀÌ ¾øÀ¸¸é ÃÖ´ë °³¼ö¸¸Å­ ¸ðµç ½ÅÈ£°¡ »ý¼ºµÇ¾î ÀÖ´Â °ÍÀ̹ǷΠ´õ ÀÌ»ó ½ÅÈ£¸¦ »ý¼ºÇÒ ¼ö ¾ø´Ù. ºóÄ­À» ãÀ¸¸é ÀÌ Ä­À» µ¶Á¡Çϱâ À§ÇØ exist¸¦ TRUE·Î ¹Ù²Ù°í »õ·Î¿î ½ÅÈ£¿¡ ´ëÇÑ Á¤º¸¸¦ ÃʱâÈ­Çϴµ¥ ÁÖ·Î ³­¼ö¸¦ »ç¿ëÇÑ´Ù.

ch´Â A~Z »çÀÌÀÇ ¹®ÀÚ·Î, ¼öÆò À§Ä¡ x´Â 0~79 Áß Çϳª·Î, distance´Â 9~22±îÁö·Î ¼±ÅõȴÙ. ¼öÁ÷ À§Ä¡ y´Â ÃÖÃÊ 0À̸ç È­¸é »ó´Ü¿¡¼­ºÎÅÍ Ãâ¹ßÇÑ´Ù. nFrameÀº ½ÅÈ£ÀÇ À̵¿ ¼Óµµ¸¦ ÁöÁ¤Çϴµ¥ 5~19±îÁöÀÇ ³­¼ö°ªÀ¸·Î ÃʱâÈ­µÈ´Ù. ´ÙÀ½ Ç׿¡¼­ ÀÌ ¼Óµµ°¡ ¾î¶»°Ô Àû¿ëµÇ´ÂÁö º¸µµ·Ï ÇÏÀÚ.