Cosmic market(コズミック・マーケット)ã€é€šç§°ã‚³ã‚ºãƒŸã‚±ã€ã¯å…¨å®‡å®™æœ€å¤§è¦æ¨¡ã®åŒäººå³å£²ä¼šã 。 コズミケã«ã¯ã‚らゆるジャンルã®åŒäººæ„›å¥½å®¶é”ãŒé›†ã†ã€‚ è¿‘å¹´ã€ã‚³ã‚ºãƒŸã‚±ã¸ã®æ¥å ´è€…ã¯å¢—åŠ å‚¾å‘ã«ã‚る。 最åˆã‹ã‚‰å…¨ã¦ã®äººãŒå…¥å ´ã§ãã‚‹ã¨å¤§å¤‰æ··é›‘ã—ã¦å±é™ºãªã®ã§ã€é–‹å ´ç›´å¾Œã¯å…¥å ´è¦åˆ¶ã‚’è¡Œã£ã¦ã„る。 ã‚る一定人数ã®äººã ã‘ãŒé–‹å ´ã¨åŒæ™‚ã«å…¥å ´ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã®ã 。 ãれ以外ã®äººãŸã¡ã¯ã—ã°ã‚‰ãå¾…ã£ã¦ã‹ã‚‰ã®å…¥å ´ã¨ãªã£ã¦ã„る。
ã—ã‹ã—å…ˆç€é †ã«ä¼šå ´ã«å…¥ã‚‹ã“ã¨ã«ã™ã‚‹ã¨ã€å¾¹å¤œã§å‰æ—¥ã‹ã‚‰ä¸¦ã¶äººãŒå‡ºã¦ã—ã¾ã†ã€‚ コズミケã®å‚åŠ è€…ã«ã¯æœªæˆå¹´ã‚‚多ãã€æ²»å®‰ä¸Šã®å•é¡Œã‚‚ã‚ã‚‹ã®ã§å…ˆç€é †ã¨ã„ã†æ±ºã‚æ–¹ã¯ã¨ã¦ã‚‚良ããªã„。 ãã†ã„ã†ç†ç”±ãŒã‚ã£ã¦ã€ã‚³ã‚ºãƒŸã‚±ã§ã¯å‚åŠ è€…ã®ä¸ã§ã‚る種ã®ã‚²ãƒ¼ãƒ ã‚’è¡Œã„ã€ãã®ã‚²ãƒ¼ãƒ ã§å‹ã¡æ®‹ã£ãŸäººãŒæœ€åˆã«å…¥å ´ã™ã‚‹æ¨©åˆ©ã‚’手ã«ã§ãる。 公平を期ã™ãŸã‚ã«æ¯Žå¹´ãƒ©ãƒ³ãƒ€ãƒ 性ã®é«˜ã„ゲームを採用ã—ã¦ã„る。
僕ã¯ä»Šå›žã‚‚コズミケã«å‚åŠ ã™ã‚‹äºˆå®šã 。 僕ã¯ä»Šå›žã®ã‚³ã‚ºãƒŸã‚±ã§ã©ã†ã—ã¦ã‚‚手ã«å…¥ã‚ŒãŸã„åŒäººèªŒãŒã‚る。 ã¨ã‚る人気サークルãŒé ’布ã™ã‚‹åŒäººèªŒã§ã€ä»Šå¹´ã®æ˜¥ã«è©±é¡Œã«ãªã£ãŸé”法少女ã®ã‚¢ãƒ‹ãƒ¡ã‚’å–り扱ã£ã¦ã„る。 ã—ã‹ã—ã€ã“ã®ã‚µãƒ¼ã‚¯ãƒ«ã¯ã¨ã¦ã‚‚人気ã§æ¯Žå›žã™ãã«é ’布ãŒçµ‚了ã—ã¦ã—ã¾ã†ã€‚ é–‹å ´ã¨åŒæ™‚ã«å…¥å ´ã§ããªã‹ã£ãŸå ´åˆã«æ‰‹ã«å…¥ã‚Œã‚‹ã“ã¨ã¯ã»ã¼ä¸å¯èƒ½ã ã‚ã†ã€‚ ã‚‚ã¡ã‚ん後日åŒäººã‚·ãƒ§ãƒƒãƒ—ãªã©ã§ã‚‚手ã«å…¥ã‚‹ã‚ˆã†ã«ãªã‚‹ã®ã¯é–“é•ã„ãªã„。ã—ã‹ã—ãã‚Œã¾ã§æˆ‘æ…¢ã™ã‚‹ã“ã¨ãªã©åƒ•ã«ã¯å‡ºæ¥ãªã„。 僕ã¯ã©ã‚“ãªæ‰‹ã‚’使ã£ã¦ã§ã‚‚コズミケ当日ã«æ‰‹ã«å…¥ã‚Œãªãã¦ã¯ã„ã‘ãªã„ã®ã 。 ä¸å¹¸ãªã“ã¨ã«åƒ•ã¯ä»Šã¾ã§ã®ã‚³ã‚ºãƒŸã‚±ã§æœ€åˆã«å…¥å ´ã§ããŸã“ã¨ã¯ä¸€åº¦ã‚‚ãªã„。
コズミケã®ã‚«ã‚¿ãƒã‚°ã«ã‚ˆã‚‹ã¨ã€ä»Šå›žã¯ä»¥ä¸‹ã®ã‚ˆã†ãªã‚²ãƒ¼ãƒ ã§æœ€åˆã«å…¥å ´ã§ãる人をé¸ã¶ã‚‰ã—ã„。 ã¾ãšå‚åŠ è€…ã®ã†ã¡å…ˆç€ r×c 人ã®äººãŒã€r×c ã®ã‚°ãƒªãƒƒãƒ‰ã®ã‚ˆã†ã«é…ç½®ã•ã‚ŒãŸåº§å¸ã®å¥½ããªå ´æ‰€ã«åº§ã‚‹ã€‚ å…ˆç€é †ã§å ´æ‰€ã‚’é¸ã¹ã‚‹ã®ã§æ—©ãè¡Œã£ãŸæ–¹ãŒé¸æŠžè‚¢ãŒæ²¢å±±ã‚る。 r×c 人ã®äººãŒåº§ã£ãŸã‚‰ã‚²ãƒ¼ãƒ ãŒå§‹ã¾ã‚‹ã€‚ ã“ã®ã‚²ãƒ¼ãƒ ã¯ã‚る一定ã®å›žæ•°ã€ã‚ã‚‹1ã¤ã®åˆ—(行)ã®åº§å¸ã«ã„ã‚‹å…¨ã¦ã®äººã«å¯¾ã—ã¦ã€ç€å¸ã€ã‚ã‚‹ã„ã¯èµ·ç«‹ãŒæŒ‡ç¤ºã•ã‚Œã‚‹ã€‚ ã™ã§ã«ç€å¸ã—ã¦ã„る人ã«ç€å¸ã®æŒ‡ç¤ºãŒå‡ºã•ã‚ŒãŸå ´åˆã¯ãã®ã¾ã¾å¾…æ©Ÿã™ã‚Œã°ã€‚èµ·ç«‹ã—ã¦ã„る人もåŒæ§˜ã§ã‚る。 ã“ã®æŒ‡ç¤ºãŒå‡ºã•ã‚Œã‚‹å¯¾è±¡ã®åˆ—(行)ã¨æŒ‡ç¤ºã®å†…容ã¯ãƒ©ãƒ³ãƒ€ãƒ ã«ãƒ«ãƒ¼ãƒ¬ãƒƒãƒˆã§æ±ºã‚られる。 ã‚る一定ã®å›žæ•°ã®æŒ‡ç¤ºãŒçµ‚ã‚ã£ãŸæ™‚点ã§èµ·ç«‹ã—ã¦ã„る人ã ã‘ãŒæœ€åˆã«é–‹å ´ã«å…¥ã‚Œã‚‹ã®ã 。 指示ã®å›žæ•°ã¯å‚åŠ è€…ã«ã¯çŸ¥ã‚‰ã•ã‚Œã¦ã„ãªã„ã®ã§ã€ã„ã¤ã‚²ãƒ¼ãƒ ãŒçµ‚ã‚ã‚‹ã‹åˆ†ã‹ã‚‰ãªã„。 ãªã®ã§ã‚る時点ã§ç«‹ã£ã¦ã„る人も座ã£ã¦ã„る人も自分ãŒæœ€åˆã«å…¥å ´ã§ãã‚‹ã‹ã¯åˆ†ã‹ã‚‰ãªã„。 ã ã‹ã‚‰ã‚¹ãƒªãƒ«ã‚’味ã‚ã†ã“ã¨ãŒå‡ºæ¥ã‚‹ã€ã¨ã‚«ã‚¿ãƒã‚°ã§ã¯å¼·èª¿ã•ã‚Œã¦ã„る。
コズミケå‰æ—¥ã®åˆå¾Œ1時ã€åƒ•ã¯ä»Šå¹´ã®ã‚²ãƒ¼ãƒ ã«é–¢ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’ã™ã¹ã¦æ‰‹ã«å…¥ã‚ŒãŸã€‚ 僕ãŒæ‰‹ã«å…¥ã‚ŒãŸæƒ…å ±ã«ã‚ˆã‚‹ã¨ã€ã“ã®æŒ‡ç¤ºã®å›žæ•°ã€q ã¯ã™ã§ã«æ±ºã¾ã£ã¦ã„る。 ãã‚Œã©ã“ã‚ã‹q 回ã®æŒ‡ç¤ºå†…容ãŒå…¨ã¦ãŒã™ã§ã«æ±ºã¾ã£ã¦ã„る。 ランダム性ãŒé«˜ã„ãªã©ã¨ã„ã‚ã‚Œã¦ã„ã‚‹ãŒãã‚Œã¯å˜˜ã ã£ãŸã®ã 。 ã©ã†ã„ã†ç†ç”±ãŒã‚ã£ã¦äº‹å‰ã«æ±ºã¾ã£ã¦ã„ã‚‹ã®ã‹ã¯åˆ†ã‹ã‚‰ãªã„。 ã—ã‹ã—ã“ã®æƒ…å ±ã¯åƒ•ã«ã¨ã£ã¦ã¯å¤©ã®æµã¿ã®ã‚ˆã†ã 。
ã‚‚ã—ã“ã®ãƒ‡ãƒ¼ã‚¿ã©ãŠã‚Šã«ã‚²ãƒ¼ãƒ ãŒè¡Œã‚れれるã®ã§ã‚ã‚Œã°ã€æœ€åˆã«å…¥å ´ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹åº§å¸ã®å ´æ‰€ãŒå…¨ã¦åˆ†ã‹ã‚‹ã€‚ 最悪ã®å ´åˆã€åƒ•ä»¥å¤–ã®å‚åŠ è€…å…¨å“¡ãŒã“ã®æƒ…å ±ã‚’å¾—ã¦ã„ãŸã¨ã—ã¦ã¿ã‚ˆã†ã€‚ ãã‚“ãªå ´åˆã§ã‚‚é…ãã¨ã‚‚何番目ã«é–‹å ´ã«åˆ°ç€ã™ã‚Œã°æœ€åˆã«ä¼šå ´ã«å…¥ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‹ã‚ã‹ã‚‹ã¯ãšã 。 ã—ã‹ã—ã“ã®æŒ‡ç¤ºå†…容を今ã‹ã‚‰æ‰‹è¨ˆç®—ã§è§£æžã™ã‚‹ã®ã¯é‡ãŒå¤šã™ãŽã‚‹ã®ã§ç„¡ç†ãã†ã 。 ã©ã‚“ãªã«é ‘å¼µã£ã¦ã‚‚コズミケã«ã¯é–“ã«åˆã‚ãªã„。
ãã“ã§ã€åƒ•ã¯å›ã«ã“ã®è¨ˆç®—ã‚’ä»»ã›ã‚‹ã“ã¨ã«ã—ãŸã€‚ å›ã¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚³ãƒ³ãƒ†ã‚¹ãƒˆã«ã‚ˆãå‚åŠ ã—ã¦ãŠã‚Šã€ã“ã®ã‚ˆã†ãªã®è¨ˆç®—プãƒã‚°ãƒ©ãƒ を書ãã®ã¯å¾—æ„ãªã¯ãšã 。 ã‚‚ã¡ã‚ã‚“ãŸã ã§ã‚„ã£ã¦ãã‚Œã¨ã¯è¨€ã‚ãªã„。 ã‚«ã‚¿ãƒã‚°ã«ã‚ˆã‚‹ã¨ã€ä»Šå¹´ã®ã‚³ã‚ºãƒŸã‚±ã«ã¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚³ãƒ³ãƒ†ã‚¹ãƒˆã«é–¢ã™ã‚‹åŒäººèªŒã‚’出ã—ã¦ã„るサークルãŒå‚åŠ ã™ã‚‹äºˆå®šã®ã¯ãšã 。 ã‚‚ã—僕ãŒé–‹å ´ã¨åŒæ™‚ã«å…¥å ´ã§ããŸã‚‰å ±é…¬ã¨ã—ã¦ãã®åŒäººèªŒã‚’手ã«å…¥ã‚Œã¦å›ã«ãƒ—レゼントã™ã‚‹ã‚ˆã€‚ ã•ã¦ã€åƒ•ã¯ã“ã‚Œã‹ã‚‰5時間ãらã„ä»®çœ ã‚’ã¨ã‚‹ã“ã¨ã«ã—よã†ã€‚ãã®é–“ã«å›ãªã‚‰ãã£ã¨ç”ãˆã‚’出ã—ã¦ãれるã¨åƒ•ã¯ä¿¡ã˜ã¦ã„る。
入力ã¯è¤‡æ•°ã®ã‚±ãƒ¼ã‚¹ã‹ã‚‰ãªã‚‹ã€‚ å„ケースã¯ä»¥ä¸‹ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
r c q A0 B0 order0 A1 B1 order1 . . . Aq-1 Bq-1 orderq-1
Ai = 0 ã®æ™‚,Bi 行目ã«å¯¾ã—ã¦orderi ã®æŒ‡ç¤ºãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚
Ai = 1 ã®æ™‚,Bi 列目ã«å¯¾ã—ã¦orderi ã®æŒ‡ç¤ºãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚
orderi = 0ã®æ™‚ã¯æŒ‡å®šã•ã‚ŒãŸè¡Œã¾ãŸã¯åˆ—ã®äººå…¨å“¡ã‚’座らã›ã‚‹ã€‚
orderi = 1ã®æ™‚ã¯æŒ‡å®šã•ã‚ŒãŸè¡Œã¾ãŸã¯åˆ—を人全員を立ãŸã›ã‚‹ã€‚
入力ã®çµ‚ã‚ã‚Šã¯r =0 c =0 q =0 ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
入力ã®å€¤ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã€‚
1 ≤ r ≤ 50,000
1 ≤ c ≤ 50,000
1 ≤ q ≤ 50,000
orderi = 0 ã¾ãŸã¯ 1
Ai = 0 ã®æ™‚
0 ≤ Bi < r
Ai = 1 ã®æ™‚
0 ≤ Bi < c
テストケースã®æ•°ã¯100を超ãˆãªã„
最悪ã®å ´åˆã«ã€ä½•ç•ªç›®ã¾ã§ã«åˆ°ç€ã™ã‚Œã°æœ€åˆã«ä¼šå ´ã«å…¥ã‚Œã‚‹æ¨©åˆ©ã‚’å¾—ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‹ã‚’一行ã§å‡ºåŠ›ã›ã‚ˆã€‚
5 5 5 0 0 1 0 0 0 0 2 0 1 2 1 0 0 0 5 5 5 1 4 0 0 1 1 0 4 1 1 3 0 0 3 1 5 5 5 1 0 0 0 3 0 1 2 1 0 4 0 0 1 1 0 0 0
4 13 8
The University of Aizu Programming Contest 2011 Summer
原案ã€å•é¡Œæ–‡: Tomoya Sakai