たまたまひらいてやるだけだったので書いてみた。
が、もはやアルゴリズマー失格級の不快コード。
しかも0というコーナーが痛い。
public class BrokenButtons{ public int minPresses(int a,int []b){ int ret=Math.abs(a-100); boolean table[]=new boolean[10]; for(int i=0;i<10;i++)table[i]=true; for(int i=0;i<b.length;i++)table[b[i]]=false; for(int i=0;i<10;i++){ if(i==0||table[i]) for(int j=0;j<10;j++){ if((i==0&&j==0)||table[j]) for(int k=0;k<10;k++){ if((i==0&&j==0&&k==0)||table[k]) for(int l=0;l<10;l++){ if((k==0&&l==0)||table[l]) for(int m=0;m<10;m++){ if((l==0&&m==0)||table[m]) for(int n=0;n<10;n++){ if((table[n])){ int now=6; if(i==0){ now--; if(j==0){ now--; if(k==0){ now--; if(l==0){ now--; if(m==0) now--; } } } } ret=Math.min(ret,now+Math.abs(i*100000+j*10000+k*1000+l*100+m*10+n-a)); } } } } } } } return ret; } }
なんでこんなので最初のSubmitで200点きらないのかは俺にもわからん。