Submission #1789260
Source Code Expand
import java.util.*; class Main { static final int I=(1<<30)-1; static BitSet toBitSet(String a){ BitSet r=new BitSet(a.length()); for(int i=0;i<a.length();++i) r.set(i,a.charAt(i)=='1'); return r; } static BitSet rotate(int n,BitSet b){ BitSet r=new BitSet(n); for(int i=0;i<n-1;++i) r.set(i,b.get(i+1)); r.set(n-1,b.get(0)); return r; } static int f(BitSet a, BitSet[] br){ int n=br.length; BitSet[] masks=new BitSet[n]; masks[0]=(BitSet)br[0].clone(); for(int i=1;i<n;++i){ masks[i]=(BitSet)masks[i-1].clone(); masks[i].or(br[i]); } int[]l=new int[n]; for(int i=0;i<n;++i){ int p=n,f=-1; while(p-f>1){ int m=(p+f)/2; BitSet t1=(BitSet)a.clone(); t1.andNot(masks[m]); BitSet t2=(BitSet)br[i].clone(); t2.andNot(masks[m]); if(t1.equals(t2)) p=m; else f=m; } l[i]=p; } int m=I; for(int i=0;i<n;++i) if(l[i]<n){ BitSet t=(BitSet)a.clone(); t.xor(br[i]); int d=t.cardinality(); m=Math.min(m,l[i]+Math.min((i-l[i]+n)%n,(l[i]-i+n)%n)+d); } return m; } public static void main(String[] args) { Scanner scan = new Scanner(System.in); String a=scan.next(); String b=scan.next(); int n=a.length(); BitSet ab=toBitSet(a); BitSet bb=toBitSet(b); BitSet[]br=new BitSet[n]; br[0]=bb; for(int i=1;i<n;++i) br[i]=rotate(n,br[i-1]); int m=f(ab,br); for(int i=0;i<(n-1)/2;++i){ BitSet t=br[i+1]; br[i+1]=br[n-1-i]; br[n-1-i]=t; } m=Math.min(m,f(ab,br)); System.out.println(m==I?-1:m); } }
Submission Info
Submission Time | |
---|---|
Task | D - Shift and Flip |
User | kirika_comp |
Language | Java8 (OpenJDK 1.8.0) |
Score | 0 |
Code Size | 2121 Byte |
Status | WA |
Exec Time | 248 ms |
Memory | 44624 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 1000 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 90 ms | 19924 KB |
sample_02.txt | AC | 96 ms | 20820 KB |
sample_03.txt | AC | 91 ms | 23764 KB |
sample_04.txt | AC | 91 ms | 21716 KB |
subtask_1_01.txt | AC | 91 ms | 17620 KB |
subtask_1_02.txt | AC | 92 ms | 20564 KB |
subtask_1_03.txt | AC | 92 ms | 21716 KB |
subtask_1_04.txt | AC | 150 ms | 41684 KB |
subtask_1_05.txt | AC | 194 ms | 42868 KB |
subtask_1_06.txt | AC | 158 ms | 44624 KB |
subtask_1_07.txt | AC | 199 ms | 43396 KB |
subtask_1_08.txt | AC | 151 ms | 42580 KB |
subtask_1_09.txt | AC | 90 ms | 18644 KB |
subtask_1_10.txt | AC | 102 ms | 18644 KB |
subtask_1_11.txt | AC | 201 ms | 43524 KB |
subtask_1_12.txt | AC | 209 ms | 43404 KB |
subtask_1_13.txt | AC | 209 ms | 43636 KB |
subtask_1_14.txt | AC | 191 ms | 42992 KB |
subtask_1_15.txt | AC | 198 ms | 43936 KB |
subtask_1_16.txt | AC | 190 ms | 40720 KB |
subtask_1_17.txt | WA | 186 ms | 43532 KB |
subtask_1_18.txt | AC | 194 ms | 40340 KB |
subtask_1_19.txt | WA | 199 ms | 42800 KB |
subtask_1_20.txt | AC | 202 ms | 40916 KB |
subtask_1_21.txt | WA | 192 ms | 43164 KB |
subtask_1_22.txt | WA | 191 ms | 41256 KB |
subtask_1_23.txt | AC | 189 ms | 40480 KB |
subtask_1_24.txt | AC | 183 ms | 41204 KB |
subtask_1_25.txt | AC | 186 ms | 41076 KB |
subtask_1_26.txt | WA | 101 ms | 18768 KB |
subtask_1_27.txt | WA | 118 ms | 20820 KB |
subtask_1_28.txt | WA | 142 ms | 24592 KB |
subtask_1_29.txt | WA | 169 ms | 30968 KB |
subtask_1_30.txt | WA | 209 ms | 41508 KB |
subtask_1_31.txt | WA | 93 ms | 21204 KB |
subtask_1_32.txt | WA | 112 ms | 20812 KB |
subtask_1_33.txt | WA | 119 ms | 19924 KB |
subtask_1_34.txt | WA | 142 ms | 25244 KB |
subtask_1_35.txt | WA | 161 ms | 29904 KB |
subtask_1_36.txt | WA | 197 ms | 43600 KB |
subtask_1_37.txt | WA | 102 ms | 19284 KB |
subtask_1_38.txt | WA | 121 ms | 20052 KB |
subtask_1_39.txt | WA | 140 ms | 24516 KB |
subtask_1_40.txt | WA | 169 ms | 33052 KB |
subtask_1_41.txt | WA | 219 ms | 41520 KB |
subtask_1_42.txt | WA | 241 ms | 41388 KB |
subtask_1_43.txt | WA | 191 ms | 40544 KB |
subtask_1_44.txt | WA | 195 ms | 41512 KB |
subtask_1_45.txt | WA | 233 ms | 36132 KB |
subtask_1_46.txt | WA | 248 ms | 41436 KB |