cf-Round #216 (Div. 2) -D Valera and Fools-dfs

原创 2013年12月03日 20:24:27

对于任意状态,给定第一个人和第二个人,就可以知道这个状态的形式。

那么任意状态只与第一个人和第二个人有关系。

vis[a][b]: 第一个人为a,第二个人为b的状态。

dfs求解。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int cnt;
int p[5001];
int s[5001];
int n,m;
int vis[5001][5001];
void dfs(int a,int b,int k)
{
    if(k>m)return;
    if(a>n)a=n+1;
    if(b>n)b=n+1;
    if(vis[a][b])return;
    vis[a][b]=1;cnt++;
   // cout<<a<<" "<<b<<endl;
   if(p[a])
   {
       if(s[b])dfs(b+1,b+2,k+1);
       if(s[b]<100)dfs(a,b+1,k+1);
   }
   if(p[a]<100)
   {
       if(s[b])dfs(b,b+1,k+1);
   }
}
int main()
{
    int i;
    while(~scanf("%d%d",&n,&m))
    {
        memset(vis,0,sizeof(vis));
        memset(p,0,sizeof(p));
        memset(s,0,sizeof(s));
        for(i=1;i<=n;i++)
        {
            scanf("%d",&p[i]);
        }
        for(i=n;i>=1;i--)
        {
            s[i]=max(s[i+1],p[i]);
        }
        cnt=0;
        if(n>1)dfs(1,2,0);
        else cnt=1;
        cout<<cnt<<endl;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Codeforces Round #216_div2_D.Valera and Fools

近些日子以来总觉得编程水平没怎么提升,这学期开始虽然每周有四场的队内训练赛,但几个月下来感觉收获不大。想想,还是以刷题的方式来学习吧。每天刷个一两题,然后写写题解。一味的打比赛打比赛被逼的很紧但是却没...

Codeforces Round #216_div2_D.Valera and Fools

这一题主要是DP还是好想的。。不过我只能推出模糊的DP方程。看了一下别人的解法。转载请注明出处http://blog.csdn.net/moedane开始说题。 传送门 http://codefor...

Codeforces Round #216 (Div. 2)---C. Valera and Elections

The city Valera lives in is going to hold elections to the city Parliament.The city has n districts ...

Codeforces Round #216_div2_E.Valera and Queries

转载注明出处   http://blog.csdn.net/moedane     传送门 http://codeforces.com/contest/369/problem/E   题意 给出n条线...

Codeforces Round #216 (Div. 2) A. Valera and Plates

A. Valera and Plates time limit per test 1 second memory limit per test 256 megabytes ...

Codeforces Round #216 (Div. 2) E. Valera and Queries (树状数组)

题目地址:http://codeforces.com/contest/369/problem/E 看完题目,很明显是离散+树状数组的思路,然而并没有想到怎么离散。这题的解法实在巧妙。 这题要求的是...

Codeforces Round #216 C Valera and Elections ( DFS )

题目链接:   C 题目大意:   给出N(N                   选择某个结点,从这个结点出发到达1结点的路都会被修复   ...

Codeforces Round #252 (Div. 2)441D. Valera and Swaps

题目连接:http://codeforces.com/contest/441/problem/D

Codeforces Round #216 (diy.2) C. Valera and Elections

题目链接:点击打开链接 题意:给一棵树,N-1条边的权值可以是1和2。要找包含权值为2的边的路径有几条,并            记录这条路径中距离点1最远的点。 分析: 就是树形dp,或者说是树上的...

CF-Codeforces Round #420 (Div. 2)-D-Okabe and City

ACM模版描述 题解这个题真的有趣,最短路,难点主要是在建图上~~~这里先说一下题面的误区,我一开始理解为每盏灯只能点亮其所在的行或者列,谁成想并不是这样,而是说能点亮任何行或者列。那是否意味着我们...
  • f_zyj
  • f_zyj
  • 2017-06-27 20:27
  • 248
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)