Submission #226243
Source Code Expand
import Control.Applicative import qualified Data.Map as Map main :: IO () main = do [r, c] <- map read <$> words <$> getLine [x, y] <- map read <$> words <$> getLine [d, l] <- map read <$> words <$> getLine putStrLn $ show $ solve (r, c, x, y, d, l) solve :: (Integer, Integer, Integer, Integer, Integer, Integer) -> Integer solve (r, c, x, y, d, l) = (((ptn1 * ptn2) `mod` _mod) * ptn3) `mod` _mod where ptn1 = combination (d+l) d ptn2 = (r+1-x) * (c+1-y) ptn3 = solve2 (x, y, d+l) solve2 :: (Integer, Integer, Integer) -> Integer solve2 (1, 1, _) = 1 solve2 (x, y, d) = sum $ do dx1 <- [0, 1] dx2 <- [0, 1] dy1 <- [0, 1] dy2 <- [0, 1] return $ (-1)^(dx1+dx2+dy1+dy2) * combination ((x-dx1-dx2)*(y-dy1-dy2)) d combination :: Integer -> Integer -> Integer combination n r | r < 0 = 0 | r > n = 0 | otherwise = (fact n) `div` ((fact (n-r)) * (fact r)) fact :: Integer -> Integer fact 0 = 1 fact n = n * fact (n-1) _mod = 1000000007 :: Integer
Submission Info
Submission Time | |
---|---|
Task | D - AtCoder社の冬 |
User | hamadu |
Language | Haskell (GHC 7.4.1) |
Score | 101 |
Code Size | 1029 Byte |
Status | AC |
Exec Time | 35 ms |
Memory | 2016 KB |
Judge Result
Set Name | sub | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 100 / 100 | 1 / 1 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sub | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, test_03E.txt, test_04E.txt, test_07E.txt, test_08E.txt, test_11E.txt, test_12E.txt, test_15E.txt, test_16E.txt, test_19E.txt, test_20E.txt, test_23E.txt, test_24E.txt, test_27E.txt, test_28E.txt, test_31E.txt, test_32E.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_45E.txt, test_47E.txt |
All | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, 00_sample_04.txt, test_01.txt, test_02.txt, test_03E.txt, test_04E.txt, test_05.txt, test_06.txt, test_07E.txt, test_08E.txt, test_09.txt, test_10.txt, test_11E.txt, test_12E.txt, test_13.txt, test_14.txt, test_15E.txt, test_16E.txt, test_17.txt, test_18.txt, test_19E.txt, test_20E.txt, test_21.txt, test_22.txt, test_23E.txt, test_24E.txt, test_25.txt, test_26.txt, test_27E.txt, test_28E.txt, test_29.txt, test_30.txt, test_31E.txt, test_32E.txt, test_33.txt, test_34.txt, test_35.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45E.txt, test_46.txt, test_47E.txt, test_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01E.txt | AC | 31 ms | 1436 KB |
00_sample_02E.txt | AC | 28 ms | 1312 KB |
00_sample_03E.txt | AC | 29 ms | 1564 KB |
00_sample_04.txt | AC | 32 ms | 1952 KB |
test_01.txt | AC | 28 ms | 1440 KB |
test_02.txt | AC | 28 ms | 1312 KB |
test_03E.txt | AC | 30 ms | 1424 KB |
test_04E.txt | AC | 30 ms | 1944 KB |
test_05.txt | AC | 28 ms | 1432 KB |
test_06.txt | AC | 33 ms | 2016 KB |
test_07E.txt | AC | 28 ms | 1432 KB |
test_08E.txt | AC | 28 ms | 1568 KB |
test_09.txt | AC | 30 ms | 1944 KB |
test_10.txt | AC | 30 ms | 1948 KB |
test_11E.txt | AC | 28 ms | 1564 KB |
test_12E.txt | AC | 29 ms | 1816 KB |
test_13.txt | AC | 28 ms | 1692 KB |
test_14.txt | AC | 29 ms | 1956 KB |
test_15E.txt | AC | 28 ms | 1952 KB |
test_16E.txt | AC | 29 ms | 1952 KB |
test_17.txt | AC | 27 ms | 1308 KB |
test_18.txt | AC | 28 ms | 1564 KB |
test_19E.txt | AC | 28 ms | 1360 KB |
test_20E.txt | AC | 27 ms | 1428 KB |
test_21.txt | AC | 27 ms | 1568 KB |
test_22.txt | AC | 31 ms | 1948 KB |
test_23E.txt | AC | 27 ms | 1260 KB |
test_24E.txt | AC | 30 ms | 1948 KB |
test_25.txt | AC | 28 ms | 1692 KB |
test_26.txt | AC | 28 ms | 1564 KB |
test_27E.txt | AC | 29 ms | 1820 KB |
test_28E.txt | AC | 29 ms | 1944 KB |
test_29.txt | AC | 34 ms | 1948 KB |
test_30.txt | AC | 35 ms | 1948 KB |
test_31E.txt | AC | 28 ms | 1560 KB |
test_32E.txt | AC | 31 ms | 1948 KB |
test_33.txt | AC | 26 ms | 1308 KB |
test_34.txt | AC | 28 ms | 1692 KB |
test_35.txt | AC | 28 ms | 1312 KB |
test_36E.txt | AC | 26 ms | 1304 KB |
test_37E.txt | AC | 26 ms | 1308 KB |
test_38E.txt | AC | 27 ms | 1308 KB |
test_39E.txt | AC | 27 ms | 1312 KB |
test_40.txt | AC | 29 ms | 1824 KB |
test_41.txt | AC | 26 ms | 1312 KB |
test_42.txt | AC | 28 ms | 1696 KB |
test_43.txt | AC | 26 ms | 1308 KB |
test_44.txt | AC | 27 ms | 1824 KB |
test_45E.txt | AC | 26 ms | 1356 KB |
test_46.txt | AC | 26 ms | 1308 KB |
test_47E.txt | AC | 26 ms | 1312 KB |
test_48.txt | AC | 26 ms | 1308 KB |