蓝桥杯练习系统真题14——高僧斗法
2017-04-04 20:30
323 查看
import java.util.*; public class Main { static boolean f(int[] x) { String[] y = new String[x.length/2]; int m = 0; for(int i=0; i<x.length/2; i++) { y[i] = Integer.toBinaryString(x[i*2+1] - x[i*2] - 1); if(y[i].length()>m) m = y[i].length(); } for(int i=0; i<m; i++){ boolean tag = true; for(int j=0; j<y.length; j++){ int k = y[j].length() - (m-i); if(k>=0 && y[j].charAt(k)=='1') tag = !tag; } if(tag==false) return false; } return true; } static int finalold=0; static int finalk=0; static void test(int[] x) { finalold=x[x.length-1]; for(int i=0; i<x.length-1; i++){ for(int k=x[i]+1; k<x[i+1]; k++){ int old = x[i]; x[i] = k; try{ if(f(x)) { if(finalold>old) { finalold=old; finalk=k; } } } finally{ x[i] = old; } } } } public static void main(String[] args) { Scanner scan = new Scanner(System.in); String[] ss = scan.nextLine().split(" "); int[] x = new int[ss.length]; for(int i=0; i<ss.length; i++) x[i] = Integer.parseInt(ss[i]); test(x); System.out.println(finalold + " " + finalk); } }
相关文章推荐
- 蓝桥杯练习系统真题2——十字形
- 蓝桥杯官网练习系统历届真题详解
- 蓝桥杯练习系统真题1——核桃的数量
- 蓝桥杯练习系统真题5——错误票据
- 蓝桥杯练习系统真题8——买不到的数目
- 蓝桥杯练习系统真题6——翻硬币
- 蓝桥杯练习系统心得
- 【蓝桥杯练习系统】基础练习 特殊回文数
- 【蓝桥杯练习系统】入门训练 圆的面积
- 【蓝桥杯练习系统】 入门训练 Fibonacci数列
- 蓝桥杯软件大赛练习系统——基础练习 十进制转十六进制
- 【蓝桥杯练习系统】 基础练习 特殊的数字
- 【蓝桥杯练习系统】 基础练习 回文数
- 蓝桥杯练习系统 ALGO-4 结点选择
- 第五届蓝桥杯练习系统往届试题公式求解试题及参考答案---田野上的稻草人
- 第五届蓝桥杯练习系统试题及参考答案---田野上的稻草人
- 【蓝桥杯练习系统】 基础练习 十进制转十六进制
- 【蓝桥杯练习系统】 入门训练 序列求和
- 蓝桥杯练习系统 ALGO-3 K好数
- 【蓝桥杯练习系统】 基础练习 01字串