N ç¾½ã®ã†ã•ãŽãŒé•·ã• L−1 ã®å¹³å‡å°ã®ä¸Šã«ã„る。 i 番目ã®ã†ã•ãŽã®åˆæœŸä½ç½®ã¯æ•´æ•° x_iã§ã‚り〠0 ≤ x_{i} \lt x_{i+1} ≤ L−1 を満ãŸã™ã€‚座標ã¯å³ã«é€²ã‚€ã»ã©å¤§ãããªã‚‹ã€‚ä»»æ„ã® i 番目ã®ã†ã•ãŽã¯ã€ä»»æ„ã®å›žæ•°ã ã‘ã€ã¡ã‚‡ã†ã©è·é›¢ a_i ã ã‘å³æ–¹å‘ã«ã‚¸ãƒ£ãƒ³ãƒ—(ã™ãªã‚ã¡ã€x_i ã‹ã‚‰ x_i+a_i ã¸ç§»å‹•)ã™ã‚‹ã“ã¨ãŒã§ãる。ãŸã ã—別ã®ã†ã•ãŽã‚’飛ã³è¶Šãˆã‚‹ã“ã¨ã€−1 以下ã¾ãŸã¯ L 以上ã®ä½ç½®ã«å…¥ã‚‹ã“ã¨ã¯ã§ããªã„。ã¾ãŸã€åŒæ™‚ã«ã‚¸ãƒ£ãƒ³ãƒ—ã—ã¦ã„られるã®ã¯é«˜ã€… 1 ç¾½ã§ã‚ã‚Šã€ã‚る座標ã«å˜åœ¨ã§ãã‚‹ã†ã•ãŽã®æ•°ã‚‚高々 1 ç¾½ã§ã‚る。
åˆæœŸçŠ¶æ…‹ã‹ã‚‰å§‹ã‚ã¦ã‚¸ãƒ£ãƒ³ãƒ—ã‚’ä»»æ„ã®å›žæ•°ç¹°ã‚Šè¿”ã—ãŸã‚ã¨ã® x_{0}, …, x_{N−1} ã®çŠ¶æ…‹ã¨ã—ã¦ã€ã‚ã‚Šå¾—ã‚‹ã‚‚ã®ã¯ä½•é€šã‚Šã‚ã‚‹ã‹ã€‚1\,000\,000\,007 ã§å‰²ã£ãŸä½™ã‚Šã§æ±‚ã‚よ。
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
N L x_{0} … x_{N−1} a_{0} … a_{N−1}
ç”ãˆã‚’1è¡Œã§å‡ºåŠ›ã›ã‚ˆã€‚
1 3 0 1
3
1/0ã§ã†ã•ãŽãŒã„ã‚‹/ã„ãªã„を表ç¾ã™ã‚Œã°ã€100, 010, 001 ã® 3 通りã§ã‚る。
2 4 0 1 1 2
4
1100, 1001, 0101, 0011 ã® 4 通りã§ã‚る。
10 50 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1
272278100
äºŒé …ä¿‚æ•° C(50,10) = 10\,272\,278\,170 ã§ã‚ã‚Šã€ãれを 1\,000\,000\,007 ã§å‰²ã£ãŸã‚ã¾ã‚Šã¯ 272\,278\,100 ã§ã‚る。