拼多多笔试2019.9.25算法笔试第四题 动态规划

package pdd;

import java.util.Scanner;

//public class Main {
public class game{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while(sc.hasNextInt()){
            int T = sc.nextInt();
            for(int i=0; i<T; i++){
                int n = sc.nextInt();
                int m = sc.nextInt();


                int[][] film = new int [m][2];

                int [][] happy = new int[n][5];

                for(int j=0; j<m; j++)
                    film[j][0] = sc.nextInt();

                for(int j=0; j<m; j++)
                    film[j][1] = sc.nextInt();

                int z = 1;

                if(m>0 && film[0][0]==1){
                    happy[0][film[0][1]] = 1;
                    z += 1;
                }else{
                    for(int j=1; j<=4; j++)
                        happy[0][j] = 1;
                }

                for(int k=1; k<n; k++){
                    for(int j=1; j<=4; j++){
                        for(int l=1; l<=4; l++){
                            if(l != j){
                                happy[k][j] += happy[k-1][l];
                                happy[k][j] %= (Math.pow(10, 9)+7);
                            }
                        }

                    }
                    if(z <= m){
                        if(k+1 == film[z-1][0]){
                            for(int y=1; y<=4; y++){
                                if(y != film[z-1][1])
                                    happy[k][y] = 0;
                            }
                            z++;
                        }
                    }
                }
                long sum = 0;
                for(int j=1; j<=4; j++)
                    sum += happy[n-1][j];
                sum %= (Math.pow(10, 9)+7);

                System.out.println(sum);

            }

        }
    }

}


#笔试题目##题解##拼多多##算法工程师#
全部评论
大佬,说一下思路呗
点赞 回复 分享
发布于 2019-10-08 11:10
厉害👍👍👍
点赞 回复 分享
发布于 2019-09-25 23:12
ac了吗😁
点赞 回复 分享
发布于 2019-09-25 20:41

相关推荐

06-18 15:03
重庆大学 运营
运营你豪哥:做一下被打的数据,分析输出优化建议
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
2
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务