• 未名湖边的烦恼


    问题描述

      每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。
      每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
    输入格式
      两个整数,表示m和n
    输出格式
      一个整数,表示队伍的排法的方案数。
    样例输入
    3 2
    样例输出
    5
    数据规模和约定
      m,n∈[0,18]
      问题分析
     
    import java.util.*;
    
    public class Main {
        private int m;
        private int n;
        private Scanner scanner;
    
    
        //第一种解题方案
        public Main(){
            scanner = new Scanner(System.in);
            m = scanner.nextInt();
            n = scanner.nextInt();
            if(m<n)
                System.out.println(0);
            else
                System.out.println(solve(m,n));
        }
        /**
        private int solve(int i,int j){
            if (i<j){//如果剩余的m比n多一定不行
                return 0;
            }
            if(i==0){//如果n已经是0了当然可以
                return 1;
            }
    
            return solve(i-1,j) + solve(i,j-1);
        }
        */
    
        /**
         * 从第一个开始放
         * @i 代表还的人还剩i个
         * @j 代表借鞋的人还有j个
         */
        private int solve(int i,int j){
            if(i==0||j==0){
                return 1;
            }
            //如果前面放鞋子的人和借鞋子的人相等,那么此时只能还鞋子
            if(m-i==n-j){
                return solve(i-1,j);
            }
            //剩下的情况只有已经还鞋子的人比借鞋子的人多,则还鞋子和借鞋子的人都可以排在这个位置
            if(m-i>n-j)
                return solve(i-1,j) + solve(i,j-1);
            return 0;
        }
        public static void main(String[] args) {
            new Main();
        }
    }
  • 相关阅读:
    LightOJ 1132 Summing up Powers(矩阵快速幂)
    hdu 3804 Query on a tree (树链剖分+线段树)
    LightOJ 1052 String Growth && uva 12045 Fun with Strings (矩阵快速幂)
    uva 12304 2D Geometry 110 in 1! (Geometry)
    LA 3263 That Nice Euler Circuit (2D Geometry)
    2013 SCAUCPC Summary
    poj 3321 Apple Tree (Binary Index Tree)
    uva 11796 Dog Distance (几何+模拟)
    uva 11178 Morley's Theorem (2D Geometry)
    动手动脑
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/8550191.html
Copyright © 2020-2023  润新知