hiho week 43 register

Ended

Participants:830

Verdict:Accepted
Score:100 / 100
Submitted:2015-04-26 15:48:05

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
const int M = 128;
int d[M][M],
    A[M][M],
    K,N,S;
void dfs(int x,int y,int col){
    if(col==K){
        d[y][x] = 1;
        return;
    }
    dfs((x<<1)+1,y<<1,col+1);
    dfs(x<<1,(y<<1)+1,col+1);
    if(col+2<=K)
        dfs((x<<2)+3,(y<<2)+3,col+2);
}
void m(int A[][M],int B[][M],int C[][M]){
        int T[M][M];
        for(int i = 0 ;i<S;i++)
            for(int j = 0 ;j<S;j++){
                T[i][j] = 0;
                for(int k = 0 ;k<S;k++)
                    T[i][j] += A[i][k]*B[k][j]%12357;
            }
        for(int i = 0 ;i<S;i++)
            for(int j = 0 ;j<S;j++)
                C[i][j] = T[i][j]%12357;
}
int main(int argc,char*argv[])
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX