zoukankan      html  css  js  c++  java
  • HDU 4475 HDOJ Downward paths

    http://acm.hdu.edu.cn/showproblem.php?pid=4475

    题目意思:

      给定边长为n的正三角形,如图分成单位三角形,然后从顶点出发,到最下层的任一点,问有多少种方案。

      其中,防线可以是水平和向下,但不能走回头路。

    递推:ans[n]=ans[n-1]*n*2

    对于ans[n],考虑ans[n-1]到达第n-1层,第n-1层有n个点,对于每种方案,均可平移至n个点中的任意一个(若为本身,则相当于没动),对于下一步,有左右两种方案。

    可以整理得ans[n]=n! * 2^n,所以n>=mod时,答案为0。

    最近在练java,所以代码是java的

     1 import java.util.*;
     2 public class Main {
     3     public static void main(String[] args){
     4         Scanner cin=new Scanner(System.in);
     5         long[] ans=new long[1000100];
     6         int m=1000003,T=cin.nextInt();
     7         ans[1]=2;
     8         for(int i=2;i<m;i++)ans[i]=ans[i-1]*2*i%m;
     9         while(T--!=0){
    10             long n=cin.nextLong();
    11             if(n<m) System.out.println(ans[(int)n]);
    12             else System.out.println("0");
    13         }
    14         cin.close();
    15     }
    16 }
  • 相关阅读:
    Python-append()/extend()
    HTML标签
    字符实体
    css选择器
    边框属性
    背景属性
    文本属性
    字体属性
    给标签起名字
    JS数据类型
  • 原文地址:https://www.cnblogs.com/hundundm/p/2798133.html
Copyright © 2011-2022 走看看