Advanced Creative Mobile 社(ACM社)ã§ã¯ã€æ–°ã—ã„ãƒãƒ¼ã‚¿ãƒ–ルコンピュータã«æ載ã™ã‚‹GUIアプリケーションã®é–‹ç™ºã‚’è¡Œã†ã“ã¨ã«ãªã£ãŸã€‚
下図ã«ç¤ºã™ã‚ˆã†ã«ã€GUIã¯ï¼‘ã¤ã®ãƒ¡ã‚¤ãƒ³ãƒ‘ãƒãƒ«ã‚’æŒã¡ã€ãã®ä¸Šã«ã„ãã¤ã‹ã®ãƒ‘ãƒãƒ«ãŒé…ç½®ã•ã‚Œã€ã•ã‚‰ã«ãれらã®ãƒ‘ãƒãƒ«ã®ä¸Šã«ã‚‚ã„ãã¤ã‹ã®ãƒ‘ãƒãƒ«ãŒé…ç½®ã•ã‚Œã‚‹ã‚ˆã†ãªå…¥ã‚Œåæ§‹é€ ã«ãªã£ã¦ã„る。パãƒãƒ«ã¯ã™ã¹ã¦è¾ºãŒåº§æ¨™è»¸ã«å¹³è¡Œãƒ»åž‚ç›´ãªé•·æ–¹å½¢ã¾ãŸã¯æ£æ–¹å½¢ã§ã‚る。
アプリケーションã¯ãƒ‘ãƒãƒ«ã®å…¥ã‚Œåæ§‹é€ ã‚’ã‚¿ã‚°æ§‹é€ ã§ä¿æŒã™ã‚‹ä»•æ§˜ã¨ãªã£ã¦ã„る。パãƒãƒ«ã‚’表ã™ã‚¿ã‚°æ§‹é€ ã¯ã€ã‚¿ã‚°å€¤ã¨ãã®ãƒ‘ãƒãƒ«ã®ä¸Šã«é…ç½®ã•ã‚Œã¦ã„るパãƒãƒ«ã®ã‚¿ã‚°æ§‹é€ ã®ãƒªã‚¹ãƒˆã‚’æŒã¤ã€‚タグ値ã¯ãã®ãƒ‘ãƒãƒ«ã®å·¦ä¸Šã®åº§æ¨™ (x1, y1) 㨠å³ä¸‹ã®åº§æ¨™ (x2, y2) を示ã™ã€‚
ã‚¿ã‚°æ§‹é€ ã®æ§‹æ–‡è¦å‰‡ã‚’以下ã«ç¤ºã™ã€‚ã“ã“ã§ã€æ§‹æ–‡ã®è¨˜è¿°ã«ç”¨ã„る記å·ã®æ„味をã€ä»¥ä¸‹ã®è¡¨ã®ã‚ˆã†ã«å®šã‚る。"<"ã€">", "," åŠã³ "/" ã¯ã€å—å¥è¦ç´ ã§ã‚る。
è¨˜å· | æ„味 |
---|---|
::= | 定義ã™ã‚‹ |
{}* | { 㨠} ã§å›²ã¾ã‚ŒãŸè¦ç´ ã® 0 回以上ã®ç¹°ã‚Šè¿”ã— |
ã‚¿ã‚°æ§‹é€ ::= 開始タグ タグ値 {ã‚¿ã‚°æ§‹é€ }* 終了タグ 開始タグ ::= <ã‚¿ã‚°å> 終了タグ ::= </ã‚¿ã‚°å> ã‚¿ã‚°å ::= æ–‡å—列 タグ値 ::= æ•´æ•°,æ•´æ•°,æ•´æ•°,æ•´æ•°
ã‚¿ã‚°åã¯ãƒ‘ãƒãƒ«ã®åå‰ã‚’示ã™ï¼‘æ–‡å—以上ã‹ã‚‰ãªã‚‹æ–‡å—列ã§ã‚る。
タグ値ã¯ã€ã‚«ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚ŒãŸï¼”ã¤ã®æ•´æ•°ã§ã‚ã‚Šã€ãã‚Œãžã‚Œãƒ‘ãƒãƒ«ã®åº§æ¨™ã‚’示㙠x1, y1, x2, y2 ã§ã‚る。
例ãˆã°ã€ä¸Šå›³ã«ç¤ºã—ãŸGUIã¯ä»¥ä¸‹ã®ã‚¿ã‚°æ§‹é€ ã§è¨˜è¿°ã•ã‚Œã‚‹(スペースã®é–¢ä¿‚上2行ã«ã¾ãŸãŒã£ã¦ã„ã‚‹ãŒã€å…¥åŠ›ã¯ï¼‘è¡Œã§ä¸Žãˆã‚‰ã‚Œã‚‹):
<main>10,10,190,150<menu>20,20,70,140</menu><primary>80,20,180,140 <text>90,30,170,80</text><button>130,110,170,130</button></primary></main>
ã“ã®GUIã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒã‚る点をタッãƒã™ã‚‹ã¨ã€ãã®ç‚¹ã«ãŠã„ã¦æœ€ä¸Šéƒ¨ã«ã‚るパãƒãƒ«ãŒé¸æŠžã•ã‚Œã‚‹ï¼ˆå¢ƒç•Œç·šã‚’å«ã‚€ï¼‰ã€‚
ã‚ãªãŸã®ä»•äº‹ã¯ã€ãƒ¡ã‚¤ãƒ³ãƒ‘ãƒãƒ«ã®ã‚¿ã‚°æ§‹é€ ã¨ã€ã‚¿ãƒƒãƒã•ã‚ŒãŸç‚¹ã®ãƒªã‚¹ãƒˆã‚’èªã¿è¾¼ã¿ã€ä»¥ä¸‹ã®æƒ…å ±ã‚’å‡ºåŠ›ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã™ã‚‹ã“ã¨ã§ã‚る。
ãªãŠã€å…¥åŠ›ã•ã‚Œã‚‹ã‚¿ã‚°æ§‹é€ ã«ã¤ã„ã¦ä»¥ä¸‹ã®ã“ã¨ã‚’仮定ã—ã¦ã‚ˆã„。
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ã€‚å„データセットã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼š
n ã‚¿ã‚°æ§‹é€ x1 y1 x2 y2 . . . xn yn
n ã¯ã‚¿ãƒƒãƒã•ã‚ŒãŸç‚¹ã®æ•°ã‚’示ã™æ•´æ•°ã§ã‚ã‚‹ã€‚ã‚¿ã‚°æ§‹é€ ã¯ç©ºç™½ã‚’å«ã¾ãªã„1行ã®æ–‡å—列ã§ã‚る。xi, yi 㯠i 番ã‚ã«ã‚¿ãƒƒãƒã•ã‚ŒãŸç‚¹ã® x 座標㨠y 座標を表ã™ï¼ˆåº§æ¨™è»¸ã¯ä¸Šå›³ã«å®šã‚ãŸã‚‚ã®ã¨ã™ã‚‹ï¼‰ã€‚
n ≤ 100ã€ã‚¿ã‚°æ§‹é€ ã®æ–‡å—列ã®é•·ã• ≤ 1000 ã¨ä»®å®šã—ã¦ã‚ˆã„。ã¾ãŸã€å…¥åŠ›ã§ä¸Žãˆã‚‰ã‚Œã‚‹ x 座標 y 座標㯠0 以上 10,000 以下ã¨ä»®å®šã—ã¦ã‚ˆã„。
n ㌠0 ã®ã¨ã入力ã®çµ‚ã‚ã‚Šã¨ã™ã‚‹ã€‚
å„データセットã«å¯¾ã—ã¦ã€é¸æŠžã•ã‚ŒãŸé †ç•ªã«ãƒ‘ãƒãƒ«ã®åå‰ã¨åã®æ•°ã‚’出力ã›ã‚ˆã€‚å„åå‰ã¨åã®æ•°ã‚’1ã¤ã®ç©ºç™½ã§åŒºåˆ‡ã£ã¦ï¼‘è¡Œã«å‡ºåŠ›ã›ã‚ˆã€‚何もé¸æŠžã•ã‚Œãªã„å ´åˆï¼ˆã‚¿ãƒƒãƒã•ã‚ŒãŸç‚¹ã«ãƒ‘ãƒãƒ«ãŒãªã„å ´åˆï¼‰ã¯ã€"OUT OF MAIN PANEL 1"ã¨å‡ºåŠ›ã›ã‚ˆã€‚
5 <main>10,10,190,150<menu>20,20,70,140</menu><primary>80,20,180,140</primary></main> 10 10 15 15 40 60 2 3 130 80 0
main 2 main 2 menu 0 OUT OF MAIN PANEL 1 primary 0