[DP]NOIP2002/FJSDFZOJ 1081 过河卒
2014-01-24 22:05
411 查看
原题:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1081
时间:2014.1.24
类型:dp 递推
源码:非完美版(不支持20,20的极限数据)
最后状态:VIJOS AC 福建师大附中OJ WA 17%
总结:经典,经典!
时间:2014.1.24
类型:dp 递推
源码:非完美版(不支持20,20的极限数据)
#include<iostream> #include<cstring> using namespace std; long long a[20][20]; int main() { int n,m,x,y; cin>>n>>m>>x>>y; memset(a,-1,sizeof(a)); if(x-1>=0&&y-2>=0) { a[x-1][y-2]=0;} if(x-2>=0&&y-1>=0) { a[x-2][y-1]=0;} if(x-2>=0&&y+1<=m) { a[x-2][y+1]=0;} if(x-1>=0&&y+2<=m) { a[x-1][y+2]=0;} if(x+1<=n&&y+2<=m) { a[x+1][y+2]=0;} if(x+2<=n&&y+1<=m) { a[x+2][y+1]=0;} if(x+2<=n&&y-1>=0) { a[x+2][y-1]=0;} if(x+1<=n&&y-2>=0) { a[x+1][y-2]=0;} a[x][y]=0; for(int i=0;i<=n;i++) { if(a[i][0]==-1) { a[i][0]=1; } if(a[i][0]==0) { for(int j=i;j<=n;j++) { a[j][0]=0; } } } for(int i=0;i<=m;i++) { if(a[0][i]==-1) { a[0][i]=1; } if(a[0][i]==0) { for(int j=i;j<=m;j++) { a[0][j]=0; } break; } } for(int j=1;j<=m;j++) { for(int i=1;i<=n;i++) { if(a[i][j]==-1) { a[i][j]=0; a[i][j]+=a[i-1][j]+a[i][j-1]; } } } cout<<a [m]; //system("pause"); return 0; }
最后状态:VIJOS AC 福建师大附中OJ WA 17%
总结:经典,经典!
相关文章推荐
- LuoguP1052[NOIP2005] 过河 解题报告【离散化+背包型DP】
- hdu 1081 To The Max(最大子矩阵和,dp)
- NOIP05 过河(状态压缩DP)
- 【DP】哈理工oj-1186-青蛙过河
- 【贪心DP】过河问题
- BOJ1293 小马过河 dp
- 过河卒(dp算法)
- HDOJ 1081 To The Max(矩阵DP)
- CODE[VS] 1105 过河 状态压缩DP
- tyvj 1059 过河 dp
- 【状态压缩DP】NOIP2005-river过河
- hdu 1081 To The Max 最大子矩阵和(dp)
- sdnu 1087.过河(NOIP 2005 提高组)DP状态压缩
- HDU 1081 To The Max (DP) 扩展最大子列和,求最大子矩阵和
- vijos p1002 过河(离散化dp)
- Ural1081 (dp)
- Fzu 2255 过河【Dp】好题!
- hdu 1081 To The Max(dp+化二维为一维)
- hdoj1081 To The Max (DP)
- Hduoj1081!【DP】