zoukankan      html  css  js  c++  java
  • 蓝桥杯 2013年 第四届 JAVA B组 题解

    蓝桥杯 2013年 第四届 JAVA B组 题解

    One

    package provincial_2013B;
    /**
     * my answer: 2299
     */
    import java.util.Calendar;
    
    public class One {
    	public static void main(String[] args) {
    		Calendar calendar = Calendar.getInstance();
    		for(int i = 1999; i < 10000; i += 100) {
    			calendar.set(Calendar.YEAR, i);
    			calendar.set(Calendar.MONTH, 11);
    			calendar.set(Calendar.DAY_OF_MONTH, 31);
    			if(calendar.get(Calendar.DAY_OF_WEEK) == 1) {
    				System.out.println(calendar.get(Calendar.YEAR));
    				break;
    			}
    		}
    	}
    }
    

    Two

    package provincial_2013B;
    /**
     * my answer: 142
     *
     */
    public class Two {
    	public static void main(String[] args) {
    		int cnt = 0;
    		for(int i = 1; i < 10; i++) {
    			for(int j = 1; j < 10; j++) {
    				if(i != j)
    				for(int k = 1; k < 10; k++) {
    					if(i != k && j != k)
    					for(int l = 1; l < 10; l++) {
    						if(i!=l&&j!=l&&k!=l)
    						for(int m = 1; m < 10; m++) {
    							if(i!=m&&j!=m&&k!=m&&l!=m)
    							if((i*10+j)*(k*100+l*10+m) ==
    								(i*100+l*10+j)*(k*10+m)) {
    								cnt ++;
    							}
    						}
    					}
    				}
    			}
    		}
    		System.out.println(cnt);
    	}
    }
    
    

    Three

    package provincial_2013B;
    /**
     * my answer: 35
     * @author AoMok
     *
     */
    public class Three {
    	public static int dfs(int x, int y) {
    		if(x == 4 || y == 3) {
    			return 1;
    		}
    		
    		return dfs(x+1, y) + dfs(x, y+1);
    	}
    	public static void main(String[] args) {
    		System.out.println(dfs(0, 0));
    	}
    }
    
    

    Four

    package provincial_2013B;
    /**
     * my answer: 0.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911375
     * 
     */
    import java.math.BigDecimal;
    
    public class Four {
    	public static void main(String[] args) {
    		BigDecimal a = BigDecimal.ONE;
    		BigDecimal b = BigDecimal.ONE;
    		for(int i = 0; i < 10000; i++) {
    			BigDecimal t = b;
    			b = b.add(a);
    			a = t;
    //			System.out.println(a + " " + b);
    		}
    //		System.out.println(a + "
    " + b);
    		System.out.println(a.divide(b, 101, BigDecimal.ROUND_HALF_UP));
    	}
    }
    
    

    Five

    // 太简单,不写
    

    Six

    package provincial_2013B;
    
    public class Six {
    	public static void threeDepartmentSort(int[] a) {
    		int p = 0, left = 0, right = a.length - 1;
    		int standard = a[left];
    		while(p <= right){
    			standard = a[left];
    			if(a[p] < standard) {
    				int t = a[p];
    				a[p] = a[left];
    				a[left] = t;
    				
    				left++;
    			} else if(a[p] > standard) {
    				int t = a[p];
    				a[p] = a[right];
    				a[right] = t;
    				
    				right--;
    			} else {
    				p++;
    			}
    		}
    	}
    	
    	public static void main(String[] args) {
    		int[] a = {25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0};
    		threeDepartmentSort(a);
    		for(int e: a)
    			System.out.print(e+" ");
    	}
    }
    
    

    Seven

    package provincial_2013B;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    public class Seven {
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    		int n = scanner.nextInt();
    		scanner.nextLine();
    		ArrayList<Integer> aList = new ArrayList<Integer>();
    		for(int i = 0; i < n; i++) {
    			String[] li = scanner.nextLine().split(" ");
    			for(int j = 0; j < li.length; j++) {
    				aList.add(Integer.parseInt(li[j]));
    			}
    		}
    		Collections.sort(aList);
    		int indexOfDis = 0, indexOfRep = 0;
    		for(int i = 1; i < aList.size(); i++) {
    			if(aList.get(i).equals(aList.get(i-1))) {
    				indexOfRep = i;
    			} else if(aList.get(i) - aList.get(i-1) == 2) {
    				indexOfDis = i;
    			}
    		}
    		int first = aList.get(0);
    		System.out.println((indexOfDis+first) + " " + (indexOfRep+first));
    		
    //		for(int i = 0; i < aList.size(); i++) {
    //			System.out.print(aList.get(i) + " ");
    //		}
    	}
    }
    
    

    Eight

    package provincial_2013B;
    /**
     * TMD阅读理解杯,懒得写了
     */
    
    

    Nine

    package provincial_2013B;
    
    import java.util.Scanner;
    
    public class Nine {
    	private static int cnt = 0;
    	private static int N;
    	
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		N = scan.nextInt();
    		
    		int[] a = {1,2,3,4,5,6,7,8,9};
    		permutation(a, 0);
    		
    		System.out.println(cnt);
    	}
    	public static int arrToNum(int[] a, int begin, int end) {
    		int ans = 0;
    		for(int i = begin; i<= end; i++) {
    			// ten power: (end-start+1)-(i-start+1)=end-i
    			ans += a[i]*Math.pow(10, end-i);
    		}
    		return ans;
    	}
    	
    	public static void check(int[] a) {
    		for(int i = 1; i < a.length-2; i++) {
    			int num1 = arrToNum(a, 0, i-1);
    			// 剪枝优化
    			if(num1>=N) continue;
    			for(int j = 2; j < a.length-1; j++) {
    				int num2 = arrToNum(a, i, j-1);
    				int num3 = arrToNum(a, j, a.length-1);
    				if(num2%num3==0 && num1+num2/num3==N) {
    					cnt++;
    				}
    			}
    		}
    	}
    	
    	public static void print(int[] a) {
    		for(int i = 0; i < a.length; i++) {
    			System.out.print(a[i]);
    			if(i+1!=a.length) System.out.print(" ");
    		}
    		System.out.println();
    	}
    	
    	public static void permutation(int[] a, int k) {
    		if(k >= a.length) {
    			check(a);
    			return;
    		}
    		for(int i = k; i < a.length; i++) {
    			int t = a[k];
    			a[k] = a[i];
    			a[i]= t;
    			
    			permutation(a, k+1);
    			
    			t = a[k];
    			a[k] = a[i];
    			a[i]= t;
    		}
    	}
    }
    
    

    Ten

    package provincial_2013B;
    
    import java.util.Scanner;
    
    public class Ten {
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		int n = scan.nextInt();
    		int[] arr = new int[n];
    		for(int i = 0; i < n; i++) arr[i] = scan.nextInt();
    		
    		int cnt = 0;
    		for(int i = 0; i < n; i++) {
    			int max = arr[i];
    			int min = arr[i];
    			for(int j = i; j < n; j++) {
    				if(max<arr[j]) max = arr[j];
    				if(min>arr[j]) min = arr[j];
    				if(max-min+1==j-i+1) {
    					cnt++;
    				}
    			}
    		}
    		System.out.println(cnt);
    	}
    }
    
    
  • 相关阅读:
    敏捷之一:以终为始
    Rails non browser app高级篇-capistrano/daemon部署
    ios 5下设置屏幕方向为landscape
    Android敏捷开发实践(连载)
    Rails+Mongodb的一个重要技巧:如何得到last N Records?
    在macos x上 编译jzmq 3.x
    计划缓冲区
    转载程序员的十层楼
    特权账户是什么?
    如何管理公司的共享iPad?
  • 原文地址:https://www.cnblogs.com/fromneptune/p/12403857.html
Copyright © 2011-2022 走看看