zoukankan      html  css  js  c++  java
  • [ CodeVS冲杯之路 ] P1010

      不充钱,你怎么AC?

      题目:http://codevs.cn/problem/1010/

      首先我们将坐标都+1,因为它是从(0,0)开始的

      预处理出禁区,也就是马能到达的格子和马自己的格子,标上记号

      直接开始转移

      

      把 f[0][1] 或者 f[1][0] 赋上1,这样 f[1][1] 就能正常转移

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<iostream>
     6 #include<algorithm>
     7 #define N 17
     8 using namespace std;
     9 
    10 const int xx[8]={1,2,-1,-2,-1,-2,1,2},
    11           yy[8]={2,1,-2,-1,2,1,-2,-1};
    12 int f[N][N],n,m;
    13 bool g[N][N];
    14  
    15 int main()
    16 {
    17     int x,y,i,j;
    18     scanf("%d%d%d%d",&n,&m,&x,&y);
    19     n++;
    20     m++;
    21     x++;
    22     y++;
    23     for (i=1;i<=n;i++)
    24     {
    25         for (j=1;j<=m;j++) g[i][j]=0;
    26     }
    27     for (i=0;i<8;i++)
    28     {
    29         if (x+xx[i]<=n&&x+xx[i]>0&&y+yy[i]<=m&&y+yy[i]>0) g[x+xx[i]][y+yy[i]]=1;
    30     }
    31     g[x][y]=1;
    32     f[0][1]=1;
    33     for (i=1;i<=n;i++)
    34     {
    35         for (j=1;j<=m;j++)
    36         {
    37             if (g[i][j]) continue;
    38             f[i][j]=f[i-1][j]+f[i][j-1];
    39         }
    40     }
    41     printf("%d
    ",f[n][m]);
    42     return 0;
    43 }
  • 相关阅读:
    洛谷
    洛谷
    洛谷
    洛谷
    洛谷
    模板
    模板
    模板
    洛谷
    模板
  • 原文地址:https://www.cnblogs.com/hadilo/p/5879593.html
Copyright © 2011-2022 走看看