cf D. Valera and Fools
http://codeforces.com/contest/369/problem/D
标号最小的两个人会有四种状态:a活b活,a死b活,a活b死,a死b死;按照这四种状态dfs就可以求出最后的数量。
#include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 5000
using namespace std; int n,k;
int ans;
int p[maxn];
bool vis[maxn][maxn];
int c[maxn]; void dfs(int num1,int num2,int cnt)
{
if(vis[num1][num2]) return ;
vis[num1][num2]=true;
ans++;
if(num2>n||cnt==k) return;
if(p[num1])
{
if(c[num2]) dfs(num2+,num2+,cnt+);
if(c[num2]<) dfs(num1,num2+,cnt+);
}
if(p[num1]!=)
{
if(c[num2]) dfs(num2,num2+,cnt+);
}
} int main()
{
while(scanf("%d%d",&n,&k)!=EOF)
{
ans=;
memset(vis,false,sizeof(vis));
memset(p,,sizeof(p));
memset(c,,sizeof(c));
for(int i=; i<=n; i++)
{
scanf("%d",&p[i]);
}
for(int i=n; i>=; i--)
{
c[i]=max(c[i+],p[i]);
}
dfs(,,);
printf("%d\n",ans);
}
return ;
}
cf D. Valera and Fools的更多相关文章
- CF 369C . Valera and Elections tree dfs 好题
C. Valera and Elections The city Valera lives in is going to hold elections to the city Parliament ...
- Codeforces Round #216 (Div. 2) D. Valera and Fools
题目链接:http://codeforces.com/contest/369/problem/D 注意题意:所有fools都向编号最小的fool开枪:但每个fool都不会笨到想自己开枪,所以编号最小的 ...
- CF 441E Valera and Number
CF 441E Description 一共执行\(k\)次,每次有\(p\%\)把\(x * 2\),有\((100 - p)\%\)把\(x + 1\).问二进制下\(x\)末尾期望\(0\)的个 ...
- cf E. Valera and Queries
http://codeforces.com/contest/369/problem/E 题意:输入n,m; n 代表有多少个线段,m代表有多少个询问点集.每一个询问输出这些点的集合所占的线段的个数. ...
- cf C. Valera and Elections
http://codeforces.com/contest/369/problem/C 先见边,然后dfs,在回溯的过程中,如果在这个点之后有多条有问题的边,就不选这个点,如果没有而且连接这个点的边还 ...
- cf B. Valera and Contest
http://codeforces.com/contest/369/problem/B 先对k个处理,先处理sk%k个为sk/k+1,如果sk/k==0,k个数都为sk/k:对与剩下的数也按照同样的方 ...
- CF(441D Valera and Swaps)置换群
题意:1-n的一个排列, p2, ..., pn,f(p)的定义是此排列要交换最少的数对能够回到原排列1,2,3,4...n.给一个排列p.要将其变换成f值为m的排列,问至少要交换几个数对,并输出字典 ...
- CF_216_Div_2
比赛链接:http://codeforces.com/contest/369 369C - Valera and Elections: 这是一个树上问题,用深搜,最开始贪心想得是只加叶子节点,找到一个 ...
- Codeforces Round #216 (Div. 2)
以后争取补题不看别人代码,只看思路,今天就是只看思路补完的题,有点小激动. A. Valera and Plates 水题,贪心地先放完第一种食物,在考虑第二种. 居然被卡了一会,心态要蹦 :(: # ...
随机推荐
- 一个坑:java.sql.ResultSet.getInt==》the column value; if the value is SQL NULL, the value returned is 0
Retrieves the value of the designated column in the current row of this ResultSet object as a String ...
- ASP.NET获取IP的6种方法(转载于LanceZhang's Tech Blog)
服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVari ...
- HDU_2020——按绝对值排序
Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等. Input 输入数据有多组,每组占 ...
- Object-C 类定义 -- 笔记
OC类分为两个文件,一个是.h文件,一个是.m文件 .h文件 存放类,函数的申明 .文件 存放类的具体实现 类申明使用关键字 @interface @end来申明 类实现使用关键字@implement ...
- Javascript:DOM动态创建元素实例应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C# Tips:获得当前登录计算机的用户(本地用户/域用户)
须要using的namespace: using System.Security.Principal; 获得登录计算机的用户: WindowsIdentity windowsIdentity = Wi ...
- mybati之parameterType传递多个参数
当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...
- (转)WITH (NOLOCK)
缺点: 1.会产生脏读 2.只适用与select查询语句 优点: 1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%. 2.可以用于inner join 语句 脏读: 一个用 ...
- QQ 国际版(International version) - 关闭弹出资讯
1,打开QQ面板,点击左下角的 "企鹅"图标.选择 "Setting". 2,在弹出的 "Setting"面板中,选择 "Priv ...
- JS正则验证格式
function test() { var temp = document.getElementById("text1"); //对电子邮件的验证 var myreg = /^([ ...