95. 费解的开关(Acwing)(分析+递推)

2021-03-07 13:30

阅读:662

标签:表示   题解   new   前一行   ring   状态   length   rgs   step   

95. 费解的开关

题目链接:
https://www.acwing.com/problem/content/97/

题解:

前一行的状态可以决定后一行的按法,因为一个开关按两次等于没按,所以第一行的状态确定了,第二行就必须那么按,我们可以枚举第一行的按法,然后进行模拟,因为一行有5个框框,就有32种按法,用5位的二进制表示,例如00001表示,按第5个(1表示按,0表示不按)

AC代码:

public class NO95 {
    static int t;
    static int N = 6;
    static char[][] arr = new char[N][N];
    static char[][] temp = new char[N][N];
    static int[] dx = {0, -1, 1, 0, 0};
    static int[] dy = {0, 0, 0, -1, 1};

    static void turn(int x, int y) {
        for (int i = 0; i = 5 || ny = 5) continue;
            arr[nx][ny] ^= 1;
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        t = sc.nextInt();
        while (t-- > 0) {
            for (int i = 0; i > j & 1) == 1) {
                        step++;
                        turn(0, j);
                    }
                }

                for (int j = 0; j 

95. 费解的开关(Acwing)(分析+递推)

标签:表示   题解   new   前一行   ring   状态   length   rgs   step   

原文地址:https://www.cnblogs.com/doubest/p/12822964.html


评论


亲,登录后才可以留言!