#include<cstdio>
#include<string>
#include<iostream>
#include<vector>
#include<queue>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
using namespace std;
long long dp[40][40];
char a[40][40];
int n; //dp数组代表走到了(i,j)的方法;
//你要走到(i,j)的话肯定是从上或者从左边走到(i,j)然后就是大的for两层,在每个(i,j)for一下从上和从左到(i,j)的数字,
//如果可以的话,该点的dp[i][j]就加上那个可以的点的dp[i][j]值,不要觉得很奇怪,因为是可以的。在我无数次地试方法输出DP数组的时候
//就是ok了,这样写,我不知道为什么,啊哈哈哈哈,就是这样写,你要贴代码就贴代码,反正这题破DP就是自己完完全全地自己打出来的
//其实这道题目的意思不在这道题,想表达的意思是不要看题解做题,实在不会做看题解,主要看思路,然后可以叉掉题解,自己想然后打代码,
//实在不会,那肯定是有什么东西欠缺了,然后学一波,实在不行看别人的代码- -如果想变强就这么做 void debug()
{
printf("\n");
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
printf("%d",dp[i][j]);
}
printf("\n");
}
} int main()
{
while(~scanf("%d",&n)&&n!=-1)
{
memset(dp,0,sizeof(dp));
dp[1][1]=1;
for(int i=1;i<=n;i++)
{
scanf("%s",a[i]+1);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
long long mm=-1;
if((a[i][j]-'0')==0&&i!=n&&j!=n)
continue; for(int k=1;k<j;k++)
{
int t=a[i][k]-'0';
int y=j-k;
if(t==y)
{
if(i==1&&k==1||dp[i][k])
dp[i][j]+=dp[i][k];
}
} for(int k=1;k<i;k++)
{
int t=a[k][j]-'0';
int y=i-k;
if(t==y)
{
if(k==1&&j==1||dp[k][j])
dp[i][j]+=dp[k][j];
}
}
}
}
debug();
printf("%lld\n",dp[n][n]);
}
return 0;
}

hdoj1028;他们说这题叫dp...的更多相关文章

  1. 【BZOJ-1952】城市规划 [坑题] 仙人掌DP + 最大点权独立集(改)

    1952: [Sdoi2010]城市规划 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 23[Submit][Status][ ...

  2. HDU5697 刷题计划 dp+最小乘积生成树

    分析:就是不断递归寻找靠近边界的最优解 学习博客(必须先看这个): 1:http://www.cnblogs.com/autsky-jadek/p/3959446.html 2:http://blog ...

  3. NYOJ201-作业题-(dp)

    201-作业题 内存限制:64MB 时间限制:3000ms 特判: No通过数:9 提交数:28 难度:3 题目描述: 小白同学这学期有一门课程叫做<数值计算方法>,这是一门有效使用数字计 ...

  4. 【BZOJ2510】弱题 期望DP+循环矩阵乘法

    [BZOJ2510]弱题 Description 有M个球,一开始每个球均有一个初始标号,标号范围为1-N且为整数,标号为i的球有ai个,并保证Σai = M. 每次操作等概率取出一个球(即取出每个球 ...

  5. HDU 5009 Paint Pearls(西安网络赛C题) dp+离散化+优化

    转自:http://blog.csdn.net/accelerator_/article/details/39271751 吐血ac... 11668627 2014-09-16 22:15:24 A ...

  6. Codeforces 1205C Palindromic Paths (交互题、DP)

    题目链接 http://codeforces.com/contest/1205/problem/C 题解 菜鸡永远做着变巨的梦 然而依然连div1BC题都不会做 要是那天去打cf怕是又要1题滚粗了.. ...

  7. [CSP-S模拟测试]:题(DP+数学)

    题目描述 出个题就好了.这就是出题人没有写题目背景的原因.你在平面直角坐标系上.你一开始位于$(0,0)$.每次可以在上/下/左/右四个方向中选一个走一步.即:从$(x,y)$走到$(x,y+1),( ...

  8. 2014百度之星第四题Labyrinth(DP)

    Labyrinth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  9. 来自多校的一个题——数位DP+卡位

    n<=1e9就要考虑倍增.矩阵乘法这种了 假设L=0 考虑枚举二进制下,所有X与R的LCP长度,前len高位 对于第len+1位,假设R的这一位是1 如果一个x的这一位是0了,那么后面可以随便填 ...

随机推荐

  1. Visual Studio VS2013模块对于SAFESEH 映像是不安全的 怎么办

    打开该项目的"属性页"对话框,会出现如下界面打开该项目的"属性页"对话框,会出现如下界面   然后单击"链接器"--"命令行&qu ...

  2. 【转载】一致性哈希算法(consistent hashing)

    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈 ...

  3. 爬虫-UserAgent

    废话不多说,直接写代码 [root@localhost ~]# pip3 install fake-useragent Collecting fake-useragent Downloading ht ...

  4. innodb 乐观插入因空间不够导致失败,进入悲观插入阶段,这个空间的大小限制

    btr_cur_optimistic_insert{ ... /*检查分裂页时是否有足够的空间预留给未来记录的update*/ if (leaf && !zip_size && ...

  5. CAS原子操作实现无锁及性能分析

    CAS原子操作实现无锁及性能分析 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 ...

  6. 【C语言】统计数字在排序数组中出现的次数

    //数字在排序数组中出现的次数. //统计一个数字在排序数组中出现的次数.比如:排序数组{1,2,3,3,3,3,4,5}和数字3,因为3出现了4次,因此输出4. #include <stdio ...

  7. 设计模式学习笔记——Template Method模板方法模式

    可能是最简单的设计模式. 而且你我都用过而不自知. 因为,模板方法模式也者,就是面向对象中的继承.公用部分放在父类,子类继承父类,然后扩展.呵呵.

  8. [git] csdn之code平台的使用

    简单的说一下GIT的使用.... 代码和托管平台是csdn刚出来没多久的code.csdn.net [中文的界面什么的简单点,好理解,嗯,易用....] Git 使用最新版:Git-1.8.4-pre ...

  9. swing _JFileChooser文件选择窗口

    import javax.swing.JFileChooser; import org.eclipse.swt.internal.win32.TCHITTESTINFO; public class t ...

  10. html5--6-9 CSS选择器6--伪类选择器

    html5--6-9 CSS选择器6--伪类选择器 实例 @charset="UTF-8"; /*:root{background: green}*/ /*li:first-chi ...