网易2017春招笔试真题编程题集合(12)——分饼干


参考:http://blog.csdn.net/wwe4023/article/details/70171648的内容

//

import java.util.*;
public class Main {
    public static void main(String[] args) {    
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        int n = Integer.parseInt(in.nextLine());
        System.out.println(combinationCount(line,n));
    }

    public static long combinationCount(String s,int n){
        int len = s.length();
        long[][] dp = new long[len+1][];
        for(int i = 0; i <= len; i++){
            dp[i] = new long[n];
        }
        dp[0][0] = 1;

        for(int i = 1; i <= len; i++){
            for(int j = 0; j < n; j++){
                if(s.charAt(i-1) == 'X'){
                    for(int k = 0; k <= 9; k++){
                        int newJ = (j*10+k) % n;
                        dp[i][newJ] += dp[i-1][j]; 
                    }
                }
                else
                {
                    int newJ = (j*10+(s.charAt(i-1)-'0'))% n;
                    dp[i][newJ] += dp[i-1][j]; 
                }
            }
        }

       /* for(int i=0;i<len+1;i++)
        {
            for(int j=0;j<n;j++)
                System.out.print(dp[i][j]+"   ");

           System.out.println();    
            }
        */
        return dp[len][0];


    }
}

优质内容筛选与推荐>>
1、前端学习笔记之HTML DOM操作
2、Spring Boot with JSP and Tiles3
3、向美国人学习“如何快乐”
4、[NOIP2000]方格取数
5、Codeforces Round #319 (Div. 1)C. Points on Plane 分块思想


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号