【USACO 2008 Open Gold】 2.Crisis on the Farm 动规、
来源:互联网 发布:监控视频显示无网络 编辑:程序博客网 时间:2024/05/18 13:06
题意:输入n、m、p然后是n头牛塔坐标、m个草垛坐标,有p次指令机会。
每次指令可以向上下左右其中一种方向,让所有牛塔都移动一单位。
然后每经过草垛/牛塔次,就有1个权值。
求权值最大值及使权值最大的移动指令序列(字典序最小)。
题解:f[i][j][k]表示第i次,移动序列x轴坐标为j,y轴k,最大权值。
然后倒着做以保证字典序。
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 1010#define M 32#define inf 0x3f3f3f3fusing namespace std;int n,m,p;int map[N][N];int cx[N],cy[N];int lx=inf,rx,ly=inf,ry;int f[M][M<<1][M<<1],ans;char opt[M][M<<1][M<<1];int main(){//freopen("test.in","r",stdin);int i,j,k;int a,b,c;int x,y;scanf("%d%d%d",&n,&m,&p);for(i=1;i<=n;i++)scanf("%d%d",&cx[i],&cy[i]);for(i=1;i<=m;i++){scanf("%d%d",&x,&y);map[x][y]=1;lx=min(lx,x),rx=max(rx,x);ly=min(ly,y),ry=max(ry,y);}for(i=p;i>=0;i--)// 走i步{for(j=-i;j<=i;j++)// x轴位移{int remain=i-abs(j);for(k=-remain;k<=remain;k++){int noxus=-1,demacia=0;char tt;for(int adc=1;adc<=n;adc++){x=cx[adc]+j,y=cy[adc]+k;if(lx<=x&&x<=rx&&ly<=y&&y<=ry&&map[x][y])demacia++;}if(f[i+1][j+1+M][k+M]>noxus)noxus=f[i+1][j+1+M][k+M],tt='E';if(f[i+1][j+M][k+1+M]>noxus)noxus=f[i+1][j+M][k+1+M],tt='N';if(f[i+1][j+M][k-1+M]>noxus)noxus=f[i+1][j+M][k-1+M],tt='S';if(f[i+1][j-1+M][k+M]>noxus)noxus=f[i+1][j-1+M][k+M],tt='W';f[i][j+M][k+M]=noxus+demacia;opt[i][j+M][k+M]=tt;}}}printf("%d\n",f[0][0+M][0+M]);x=y=0+M;for(i=0;i<p;i++){printf("%c",opt[i][x][y]);if(opt[i][x][y]=='E')x++;else if(opt[i][x][y]=='W')x--;else if(opt[i][x][y]=='N')y++;else if(opt[i][x][y]=='S')y--;}return 0;}
复制去Google翻译翻译结果
0 0
- 【USACO 2008 Open Gold】 2.Crisis on the Farm 动规、
- [Usaco2008 Open]Crisis on the Farm 牧场危机
- 【BZOJ1589】【USACO 2008 Dec Gold】 1.Trick or Treat on the Farm 基环树裸DP、
- BZOJ 1605 [Usaco2008 Open]Crisis on the Farm 牧场危机 DP
- 麻烦的DP-BZOJ-1605-[Usaco2008 Open]Crisis on the Farm 牧场危机
- bzoj 1605: [Usaco2008 Open]Crisis on the Farm 牧场危机(DP)
- 【POJ3666】【USACO 2008 Feb Gold】 2.Cow Game 动规
- USACO 2009 Open Gold 2.Work Scheduling
- USACO 2011 Open Gold 1.Mowing the Lawn 修剪草坪
- 【POJ3612】【USACO 2007 Nov Gold】 1.Telephone Wire 动规
- BZOJ 1619 USACO 2008 Nov Guarding the Farm 保卫牧场
- 【USACO 2008 Nov Gold】 2.Cheering up the Cows 最小生成树、
- 【USACO 2011 Open Gold】修剪草坪(BSOI2940)
- BZOJ1575 USACO 2009 Jan Gold 2.The Baric Bovine
- USACO——Closing the farm
- 【USACO 2008 Open Gold】 3.Cow Neighborhoods 平衡树、并查集
- USACO 2008 March Gold cowjog
- bzoj1621【Usaco2008 Open】Roads Around The Farm
- JPA EntityManager详解(二)
- layoutSubviews总结
- LEETCODE: Best Time to Buy and Sell Stock
- 匆匆那年,纪念我的2014
- 关于UILabel的一点使用心得
- 【USACO 2008 Open Gold】 2.Crisis on the Farm 动规、
- UVA 10163 Storage Keepers (01背包DP + 二分)
- 3d 鱼的旋转角度
- Java基础----DataInputStream、DataOutputStream
- 公司新产品之我见(4)——便携式蔬果检测仪
- jpa nativeQuery
- 搭建Ubuntu14.04编译环境并下载源码
- JPA 高级分析
- source insight里常用快捷操作