Pipe Fitter and the Fierce Dogs

[JAG Asia 2016]

理解题意之后,就是一个非常傻的DP

然后难在理解题意,理解非法状态

#include <bits/stdc++.h>

using namespace std;
const int maxn = 1e4+2;
int dp[maxn][3];
bool mp[maxn][maxn];
int main(){
int w,h,k,n;
scanf("%d%d%d%d",&w,&h,&k,&n);
for(int i=1,u,v;i<=n;++i){
scanf("%d%d",&u,&v);
mp[v][u]=1;
}
int sp=(w+1)>>1;
if(!(w&1)) --w;
if(k<sp){
puts("-1");
return 0;
}
k-=sp;
int all=sp*((h+1)/2-1);
int ans=0;
for(int i=3;i<=h;i+=2){
dp[1][0]=0x3f3f3f3f;
dp[1][1]=1+mp[i-1][1];
dp[1][2]=1+mp[i-1][2];
for(int j=3;j<=w;j+=2){
dp[j][0]=dp[j-2][2]+mp[i-1][j-1]+1;
dp[j][1]=min(dp[j-2][0],dp[j-2][1])+mp[i-1][j]+1;
dp[j][2]=min(dp[j-2][0],dp[j-2][1])+mp[i-1][j+1]+1;
};
ans+=min(dp[w][0],dp[w][1])-sp;
}
if(ans>=k){
ans-=k;
all-=k;
all+=ans;
printf("%d\n",all);
}else{
all-=k;
printf("%d\n",max(0,all));
}
return 0;
}

最新文章

  1. 基于hexo+github搭建一个独立博客
  2. html学习第三天—— 第13,14章
  3. flex垂直居中
  4. 当使用母版页时JavaScript客户端获取服务器控件的Id
  5. 【转】【C#】ColorMatrix
  6. HTTP全部报文首部字段
  7. c#学习汇总-----------------多态
  8. Arcgis 10.1 求面里面所包含的点的平均值
  9. UIView和CALayer有什么关系
  10. Selenium webdriver 查找元素
  11. JAVA关键词synchronized的作用
  12. iOS 9 地图定位崩溃 n: &#39;Invalid parameter not satisfying: !stayUp || CLClientIsBackgroundable(internal-&gt;fClient)&#39;
  13. 插入多行数据的时候,一个insert插入多行
  14. linkin大话数据结构--apache commons工具类
  15. CUDA学习,使用shared memory实现Reverse Array
  16. nltk download失败
  17. 全文检索选择-------- Elasticsearch与Solr
  18. fROM PPV report
  19. linux重装后配一些库
  20. SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data错误的解决

热门文章

  1. consul集群配置
  2. 201809-2 买菜 Java
  3. PAT Advanced 1034 Head of a Gang (30) [图的遍历,BFS,DFS,并查集]
  4. POJ 1149:PIGS 网络流经典题
  5. 18 12 30 新建一个 django project
  6. python3.4+Django+pymysql
  7. PAT Advanced 1066 Root of AVL Tree (25) [平衡⼆叉树(AVL树)]
  8. shell中通过sed替换文件中路径
  9. 38. docker cloud 简介及 关联 git hub
  10. Ubuntu的奇技淫巧