hiho week 253 register

Ended

Participants:61

Verdict:Accepted
Score:100 / 100
Submitted:2019-05-11 00:02:22

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<bits/stdc++.h>
using namespace std;
char s[101][101];
int a[404][404];
int b[8][2]={1,0,-1,0,0,1,0,-1, 1,1,1,-1,-1,1,-1,-1};
int h[8]={0,0,0,0,1,-1,-1,1};
int mark[404][404];
int m,n;
int vis[404][404];
void dfs(int x,int y)
{
    vis[x][y]=1;
    for(int i=0;i<8;i++)
    {
        int X=x+b[i][0];
        int Y=y+b[i][1];
        if(X<1||X>2*n||Y<1||Y>2*m) continue;
        if(a[X][Y]!=0||vis[X][Y]) continue;
        if(i>=4&&a[x][Y]==a[X][y]&&a[X][y]*h[i]==1) continue;
        dfs(X,Y);
    }
    return;
}
int main()
{
    //int m,n;
    int ans=0;
    memset(vis,0,sizeof vis);
    memset(a,0,sizeof a);
    memset(mark,0,sizeof mark);
    scanf("%d%d",&n,&m);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX