Submission #13404210
Source Code Expand
# Studying https://atcoder.jp/contests/abc168/tasks/abc168_f
# and https://mobile.twitter.com/chokudai/status/1262023105888698369
N,M = gets.split.map(&:to_i)
縦線 = N.times.map{ gets.split.map(&:to_i) }
横線 = M.times.map{ gets.split.map(&:to_i) }
経線 = 縦線.map{|_,_,c| c }.uniq.sort
緯線 = 横線.map{|d,| d }.uniq.sort
GW = 経線.size*2+3
GH = 緯線.size*2+3
GI = lambda{|横,縦|
i = 経線.bsearch_index{|_| 横<=_ }||経線.size # 線分の端点の座標に対応する
j = 緯線.bsearch_index{|_| 縦<=_ }||緯線.size
i1 = 経線[i] != 横 ? 1 : 0 # 線分間の座標に対応するための補正
j1 = 緯線[j] != 縦 ? 1 : 0
next (2+2*j-j1)*GW+(2+2*i-i1)
}
下 = lambda{|i|
(i/GW+1)/2*2*GW + i%GW
}
上 = lambda{|i|
i/GW/2*2*GW + i%GW
}
右 = lambda{|i|
(i+1)/2*2
}
左 = lambda{|i|
i/2*2
}
Grid = lambda{|g|
縦線.each{|a,b,c|
下[GI[c,a]].step(上[GI[c,b]], GW){|i|
g[i] = '0'
}
}
i = 0
GH.times{
g[i] = g[i+GW-1] = '0'
i += GW
}
横線.each{|d,e,f|
右[GI[e,d]].upto(左[GI[f,d]]){|i|
g[i] = '0'
}
}
0.upto(GW-1){|i|
g[i] = g[-1-i] = '0'
}
return g.to_i(2)
}['1'*(GW*GH)]
Area = lambda{|a|
(GW+1).upto(GW+GW-2){|i|
a[i] = a[-1-i] = Float::INFINITY
}
i = GW+1
(GH-2).times{
a[i] = a[i+GW-3] = Float::INFINITY
i += GW
}
heights = 緯線.each_cons(2).map{|_1,_2| _2-_1 }
widths = 経線.each_cons(2).map{|_1,_2| _2-_1 }
j = (GW+1)*3
heights.each{|h|
i = 0
widths.each{|w|
a[j+i] = h*w
i += 2
}
j += GW+GW
}
return a
}[[0]*(GW*GH)]
cow = 1 << GW*GH-1-GI[0,0]
while 0
cow+ = (cow | cow>>1 | cow<<1 | cow>>GW | cow<<GW) & Grid
break if cow == cow+
cow = cow+
end
area = 0
until cow == 0
a = cow ^ cow-1
area += Area[-a.bit_length]
cow &= ~a
end
puts(area.finite? ? area : 'INF')
Submission Info
| Submission Time | |
|---|---|
| Task | F - . (Single Dot) |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 0 |
| Code Size | 1896 Byte |
| Status | TLE |
| Exec Time | 3313 ms |
| Memory | 192548 KiB |
Compile Error
./Main.rb:65: warning: `_1' is reserved for numbered parameter; consider another name ./Main.rb:65: warning: `_2' is reserved for numbered parameter; consider another name ./Main.rb:66: warning: `_1' is reserved for numbered parameter; consider another name ./Main.rb:66: warning: `_2' is reserved for numbered parameter; consider another name ./Main.rb:85: warning: literal in condition
Judge Result
| Set Name | Sample | Subtask1 | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 600 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| Subtask1 | sample_01.txt, sample_02.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_34.txt, sub1_35.txt, sub1_36.txt, sub1_37.txt, sub1_38.txt, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt, sub1_49.txt, sub1_50.txt, sub1_51.txt, sub1_52.txt, sub1_53.txt, sub1_54.txt, sub1_55.txt, sub1_56.txt, sub1_57.txt, sub1_58.txt, sub1_59.txt, sub1_60.txt, sub1_61.txt, sub1_62.txt, sub1_63.txt, sub1_64.txt, sub1_65.txt, sub1_66.txt, sub1_67.txt, sub1_68.txt, sub1_69.txt, sub1_70.txt, sub1_71.txt, sub1_72.txt, sub1_73.txt, sub1_74.txt, sub1_75.txt, sub1_76.txt, sub1_77.txt, sub1_78.txt, sub1_79.txt, sub1_80.txt, sub1_81.txt, sub1_82.txt, sub1_83.txt, sub1_84.txt, sub1_85.txt, sub1_86.txt, sub1_87.txt, sub1_88.txt, sub1_89.txt, sub1_90.txt, sub1_91.txt, sub1_92.txt, sub1_93.txt, sub1_94.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 55 ms | 14484 KiB |
| sample_02.txt | AC | 56 ms | 14436 KiB |
| sub1_01.txt | AC | 278 ms | 107788 KiB |
| sub1_02.txt | AC | 273 ms | 106876 KiB |
| sub1_03.txt | AC | 106 ms | 55360 KiB |
| sub1_04.txt | AC | 109 ms | 55736 KiB |
| sub1_05.txt | AC | 1896 ms | 163604 KiB |
| sub1_06.txt | AC | 267 ms | 106720 KiB |
| sub1_07.txt | AC | 140 ms | 59320 KiB |
| sub1_08.txt | AC | 66 ms | 18704 KiB |
| sub1_09.txt | AC | 101 ms | 24384 KiB |
| sub1_10.txt | AC | 309 ms | 59472 KiB |
| sub1_11.txt | AC | 60 ms | 15324 KiB |
| sub1_12.txt | AC | 54 ms | 14512 KiB |
| sub1_13.txt | AC | 57 ms | 14476 KiB |
| sub1_14.txt | AC | 54 ms | 14444 KiB |
| sub1_15.txt | AC | 58 ms | 14364 KiB |
| sub1_16.txt | AC | 55 ms | 14452 KiB |
| sub1_17.txt | AC | 1730 ms | 173236 KiB |
| sub1_18.txt | TLE | 3313 ms | 180764 KiB |
| sub1_19.txt | TLE | 3313 ms | 183580 KiB |
| sub1_20.txt | TLE | 3313 ms | 181588 KiB |
| sub1_21.txt | TLE | 3312 ms | 173440 KiB |
| sub1_22.txt | TLE | 3313 ms | 186064 KiB |
| sub1_23.txt | TLE | 3313 ms | 176740 KiB |
| sub1_24.txt | TLE | 3313 ms | 184028 KiB |
| sub1_25.txt | TLE | 3313 ms | 180368 KiB |
| sub1_26.txt | TLE | 3313 ms | 178564 KiB |
| sub1_27.txt | TLE | 3312 ms | 167192 KiB |
| sub1_28.txt | TLE | 3313 ms | 159800 KiB |
| sub1_29.txt | TLE | 3312 ms | 171932 KiB |
| sub1_30.txt | TLE | 3312 ms | 170436 KiB |
| sub1_31.txt | AC | 278 ms | 112792 KiB |
| sub1_32.txt | TLE | 3312 ms | 168904 KiB |
| sub1_33.txt | TLE | 3312 ms | 156260 KiB |
| sub1_34.txt | TLE | 3312 ms | 167788 KiB |
| sub1_35.txt | TLE | 3313 ms | 185400 KiB |
| sub1_36.txt | TLE | 3312 ms | 167784 KiB |
| sub1_37.txt | TLE | 3313 ms | 186596 KiB |
| sub1_38.txt | TLE | 3311 ms | 170748 KiB |
| sub1_39.txt | AC | 810 ms | 88788 KiB |
| sub1_40.txt | TLE | 3313 ms | 192548 KiB |
| sub1_41.txt | TLE | 3312 ms | 169684 KiB |
| sub1_42.txt | AC | 59 ms | 14388 KiB |
| sub1_43.txt | AC | 58 ms | 14348 KiB |
| sub1_44.txt | AC | 57 ms | 14332 KiB |
| sub1_45.txt | AC | 54 ms | 14384 KiB |
| sub1_46.txt | AC | 57 ms | 14356 KiB |
| sub1_47.txt | AC | 1504 ms | 109500 KiB |
| sub1_48.txt | AC | 1203 ms | 131692 KiB |
| sub1_49.txt | AC | 1557 ms | 109932 KiB |
| sub1_50.txt | AC | 1172 ms | 126384 KiB |
| sub1_51.txt | AC | 1758 ms | 109236 KiB |
| sub1_52.txt | AC | 1646 ms | 116936 KiB |
| sub1_53.txt | AC | 1646 ms | 109468 KiB |
| sub1_54.txt | AC | 1235 ms | 104236 KiB |
| sub1_55.txt | TLE | 3313 ms | 189252 KiB |
| sub1_56.txt | TLE | 3313 ms | 183376 KiB |
| sub1_57.txt | TLE | 3313 ms | 181356 KiB |
| sub1_58.txt | TLE | 3313 ms | 185572 KiB |
| sub1_59.txt | TLE | 3313 ms | 186888 KiB |
| sub1_60.txt | TLE | 3313 ms | 177388 KiB |
| sub1_61.txt | TLE | 3312 ms | 145632 KiB |
| sub1_62.txt | TLE | 3312 ms | 171708 KiB |
| sub1_63.txt | AC | 73 ms | 22852 KiB |
| sub1_64.txt | TLE | 3312 ms | 183232 KiB |
| sub1_65.txt | AC | 408 ms | 70920 KiB |
| sub1_66.txt | TLE | 3312 ms | 139140 KiB |
| sub1_67.txt | AC | 1266 ms | 126504 KiB |
| sub1_68.txt | TLE | 3312 ms | 168148 KiB |
| sub1_69.txt | TLE | 3312 ms | 176016 KiB |
| sub1_70.txt | TLE | 3312 ms | 174152 KiB |
| sub1_71.txt | AC | 54 ms | 14324 KiB |
| sub1_72.txt | AC | 54 ms | 14340 KiB |
| sub1_73.txt | AC | 55 ms | 14392 KiB |
| sub1_74.txt | AC | 232 ms | 27928 KiB |
| sub1_75.txt | AC | 101 ms | 17684 KiB |
| sub1_76.txt | AC | 640 ms | 53800 KiB |
| sub1_77.txt | AC | 67 ms | 19652 KiB |
| sub1_78.txt | AC | 66 ms | 19728 KiB |
| sub1_79.txt | AC | 83 ms | 22900 KiB |
| sub1_80.txt | AC | 84 ms | 23196 KiB |
| sub1_81.txt | AC | 84 ms | 24184 KiB |
| sub1_82.txt | AC | 99 ms | 26460 KiB |
| sub1_83.txt | AC | 56 ms | 14468 KiB |
| sub1_84.txt | AC | 80 ms | 21080 KiB |
| sub1_85.txt | AC | 98 ms | 24068 KiB |
| sub1_86.txt | AC | 55 ms | 14448 KiB |
| sub1_87.txt | AC | 58 ms | 14288 KiB |
| sub1_88.txt | AC | 56 ms | 14400 KiB |
| sub1_89.txt | TLE | 3312 ms | 170268 KiB |
| sub1_90.txt | TLE | 3312 ms | 170864 KiB |
| sub1_91.txt | TLE | 3312 ms | 170004 KiB |
| sub1_92.txt | TLE | 3312 ms | 168424 KiB |
| sub1_93.txt | TLE | 3312 ms | 169068 KiB |
| sub1_94.txt | AC | 56 ms | 14404 KiB |