Submission #34760057
Source Code Expand
Copy
importControl.MonadimportqualifiedData.ByteString.CharasBSimportData.CharimportData.ListimportqualifiedData.SetasSmain = do-- 読み込み[n,m] <- bsGetLnIntsco <- BS.getContentslet (ss,ts) = splitAt n $ BS.lines colet ans = abc268d n m ss tsBS.putStrLn ansbsGetLnInts::IOIntbsGetLnInts = BS.getLine >>= return . unfoldr (BS.readInt . BS.dropWhile isSpace)noanswer = BS.pack "-1"abc268d::Int->Int->BSByteString->BSByteString->BSByteString
import Control.Monad import qualified Data.ByteString.Char8 as BS import Data.Char import Data.List import qualified Data.Set as S main = do -- 読み込み [n,m] <- bsGetLnInts co <- BS.getContents let (ss,ts) = splitAt n $ BS.lines co let ans = abc268d n m ss ts BS.putStrLn ans bsGetLnInts :: IO [Int] bsGetLnInts = BS.getLine >>= return . unfoldr (BS.readInt . BS.dropWhile isSpace) noanswer = BS.pack "-1" abc268d :: Int -> Int -> [BS.ByteString] -> [BS.ByteString] -> BS.ByteString abc268d 1 m [s] ts | elem s ts = noanswer | BS.length s < 3 = noanswer | otherwise = s abc268d n m ss ts | null zs = noanswer | otherwise = head zs where tS = S.fromList ts slen = sum (map BS.length ss) usmax = 16 - slen usmin = 3 - slen zs = [ z | ss1 <- permutations ss , k <- [max usmin (pred n) .. usmax] , ks <- combinations (pred n) k , let z = BS.concat $ zipWith f (0 : ks) ss1 , S.notMember z tS ] f k s = BS.append (BS.take k usb) s usb = BS.pack $ replicate 16 '_' combinations 1 x = [[x]] combinations n x = [a:bs | a <- [1 .. x-n+1], bs <- combinations (pred n) (x-a)] {- 8個の順列の個数は 8! = 40320 下線を1以上、合計が16文字以下になるようにいれる方法は (n-1)~使える個数 C (n-1) 総当たりしても間に合う -}
Submission Info
Submission Time | |
---|---|
Task | D - Unique Username |
User | joetheshootingst |
Language | Haskell (GHC 8.8.3) |
Score | 400 |
Code Size | 1405 Byte |
Status | AC |
Exec Time | 200 ms |
Memory | 26444 KB |
Compile Error
Loaded package environment from /home/contestant/.ghc/x86_64-linux-8.8.3/environments/default
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_one_00.txt, 01_one_01.txt, 01_one_02.txt, 01_one_03.txt, 01_one_04.txt, 01_one_05.txt, 02_case_00.txt, 02_case_01.txt, 02_case_02.txt, 02_case_03.txt, 02_case_04.txt, 02_case_05.txt, 02_case_06.txt, 02_case_07.txt, 02_case_08.txt, 02_case_09.txt, 02_case_10.txt, 02_case_11.txt, 02_case_12.txt, 02_case_13.txt, 02_case_14.txt, 02_case_15.txt, 02_case_16.txt, 02_case_17.txt, 03_eight_00.txt, 03_eight_01.txt, 03_eight_02.txt, 03_eight_03.txt, 03_eight_04.txt, 03_eight_05.txt, 04_corner_00.txt, 04_corner_01.txt, 04_corner_02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 8 ms | 3468 KB |
00_sample_01.txt | AC | 2 ms | 3700 KB |
00_sample_02.txt | AC | 3 ms | 3756 KB |
00_sample_03.txt | AC | 3 ms | 3800 KB |
01_one_00.txt | AC | 2 ms | 3720 KB |
01_one_01.txt | AC | 2 ms | 3664 KB |
01_one_02.txt | AC | 2 ms | 3668 KB |
01_one_03.txt | AC | 2 ms | 3700 KB |
01_one_04.txt | AC | 2 ms | 3620 KB |
01_one_05.txt | AC | 2 ms | 3688 KB |
02_case_00.txt | AC | 154 ms | 25864 KB |
02_case_01.txt | AC | 153 ms | 25728 KB |
02_case_02.txt | AC | 153 ms | 26036 KB |
02_case_03.txt | AC | 152 ms | 25976 KB |
02_case_04.txt | AC | 152 ms | 25792 KB |
02_case_05.txt | AC | 153 ms | 26072 KB |
02_case_06.txt | AC | 154 ms | 25776 KB |
02_case_07.txt | AC | 154 ms | 25956 KB |
02_case_08.txt | AC | 158 ms | 25968 KB |
02_case_09.txt | AC | 181 ms | 25984 KB |
02_case_10.txt | AC | 157 ms | 25908 KB |
02_case_11.txt | AC | 153 ms | 25860 KB |
02_case_12.txt | AC | 154 ms | 26284 KB |
02_case_13.txt | AC | 157 ms | 26072 KB |
02_case_14.txt | AC | 151 ms | 25872 KB |
02_case_15.txt | AC | 153 ms | 26296 KB |
02_case_16.txt | AC | 148 ms | 26444 KB |
02_case_17.txt | AC | 151 ms | 25812 KB |
03_eight_00.txt | AC | 149 ms | 26444 KB |
03_eight_01.txt | AC | 148 ms | 26408 KB |
03_eight_02.txt | AC | 149 ms | 26320 KB |
03_eight_03.txt | AC | 196 ms | 26428 KB |
03_eight_04.txt | AC | 200 ms | 26284 KB |
03_eight_05.txt | AC | 164 ms | 26048 KB |
04_corner_00.txt | AC | 6 ms | 3564 KB |
04_corner_01.txt | AC | 2 ms | 3584 KB |
04_corner_02.txt | AC | 2 ms | 3676 KB |