zoukankan      html  css  js  c++  java
  • 激光样式--枚举+递推


    枚举

    	import java.util.Scanner;
    	public class Main {
    		public static void main(String[] args) {
    			int cnt = 0;
    			Scanner sc = new Scanner (System.in);
    			int n = sc.nextInt();
    			for(int i = 0 ; i < 1 << n ; i++) {
    				boolean flag = true;
    				for(int j = 1 ; j < n ; j++) {
    					if(get(i,j)==1&&get(i,j-1)==1) {
    						flag = false;
    						break;
    					}
    				}
    				if(flag) {
    					cnt +=1;
    				}
    			}
    			System.out.println(cnt);
    		}
    		private static int get(int i, int j) {//判断i的j位是否为1 
    			return i >>j&1;
    		}
    	}
    

    递推解法:
    开一个二维数组 选0 /1
    初始值arr(0,0) 没有限制下一位 我们下一位写0 /1 都行 所以我们把第0位写成 “0 ” 为 1 如果第0位(不是有效位)看成1限制有效位第一位 不能填1

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new  Scanner (System.in);
    		int num = sc.nextInt();
    		int arr[][]  = new int[num+1][2];
    		arr[0][0] =1;//为后面作铺垫 方便后面的代码处理
    		for(int i = 1 ; i <= num ;i++) {
    			arr[i][0] = arr[i-1][0] + arr[i-1][1];
    			arr[i][1] = arr[i-1][0];
    		}
    		System.out.println(arr[num][1]+ arr[num][0]);
    	}
    }
    
  • 相关阅读:
    使用 pymssql 调用存储过程
    控制input框的输入格式
    Pycharm创建指定版本的Django
    div在页面中居中显示
    odoo12--centos7搭建odoo12
    odoo12--models模型
    odoo12--创建第一个模块
    odoo12模块目录
    odoo12代码目录说明
    win10安装odoo12教程
  • 原文地址:https://www.cnblogs.com/cznczai/p/11147957.html
Copyright © 2011-2022 走看看