poj Whac-a-Mole
来源:互联网 发布:淘宝联盟订单 编辑:程序博客网 时间:2024/05/12 19:47
思路是自己想的,wa的代码也是自己写的,看了题目上的discuss,还是一直wa,后来看了别人的代码,觉得那叫一个简便啊!然后就又自己写了一遍调试了好久过了!自己原来wa的代码还是没有找到错啊!想起来了数据库老师的话:现在你们做什么都是初级阶段,做题是不要想着自己一定要用自己的方法做出来,而是要看别人的写的优的,脑袋里要记录的是好的简便的,等积累到一定程度了再自己想着怎样去优化和提高!!似乎我转述的有点啰嗦了!下面是ac的代码:
#include<iostream>#include<cstdio>#include<string>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<climits>using namespace std; #define rep(i,n) for(i=0; i<(n); i++)#define reph(i,n,m) for(i=(n); i<=(m); i++)//正循环的#define repd(i,n,m) for(i=(n); i>=(m); i--) //负循环的 #define fab(a) (a)>0?(a):0-(a)#define max(a,b) (a)>(b)?(a):(b)#define min(a,b) (a)<(b)?(a):(b)#define ll long long#define arc(a) (a)*(a)#define inf 10000000 //最大值的#define exp 0.0000001 //浮点型的#define N 22 //记录开的数组int map[11][N+10][N+10];int dp[11][N+10][N+10];int n,d,m;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); }int fun(int x1,int y1,int x2,int y2,int t){ int fa=x2-x1; int fb=y2-y1; int temp=gcd(max(fab(fa),fab(fb)),min(fab(fa),fab(fb))); if(temp!=0) { fa=fa/temp; fb=fb/temp; } else//为0代表两点是重合的 { return map[t][x1][y1]; } int i,j,sum=0;i=x1;j=y1; for(i=x1,j=y1; !(i==x2 && j==y2); i+=fa, j+=fb) { if(map[t][i][j]==1) sum++; } sum+=map[t][x2][y2]; return sum;}int main(){ int i,x,y,t,maxt,i1,j1,i2,j2; while(scanf("%d%d%d",&n,&d,&m)) { if(n==0 && m==0 && d==0) break; memset(dp,0,sizeof(dp)); memset(map,0,sizeof(map)); maxt=0; reph(i,1,m) { scanf("%d%d%d",&x,&y,&t); map[t][x+d][y+d]=1;//防止出现负的 maxt=max(t,maxt); } n+=d+d; reph(i,1,maxt) { reph(i1,0,n-1) reph(j1,0,n-1) { reph(i2,0,n-1) reph(j2,0,n-1) { if(arc(i2-i1)+arc(j2-j1)>arc(d)) continue; dp[i][i1][j1]=max(dp[i][i1][j1],dp[i-1][i2][j2]+fun(i2,j2,i1,j1,i));//在i时刻的 } } reph(i1,0,n-1) { reph(j1,0,n-1) printf("%d ",dp[i][i1][j1]); printf("\n"); } } int Max=0; reph(i1,0,n-1) reph(i2,0,n-1) Max=max(Max,dp[maxt][i1][i2]); printf("%d\n",Max); } return 0;}
- poj Whac-a-Mole
- poj 3034 Whac-a-Mole
- POJ 3034 Whac-a-Mole
- POJ 3034 Whac-a-Mole
- POJ 3034 Whac-a-Mole
- poj 3034 Whac-a-Mole
- POJ 3034 Whac-a-Mole DP
- poj 3034 Whac-a-Mole(dp)
- poj 3034 Whac-a-Mole(dp)
- 【POJ 3034】 Whac-a-Mole(DP)
- [poj 3034] Whac-a-Mole dp
- Poj3034 Whac-a-Mole
- POJ3034--Whac-a-Mole
- poj3034 Whac-a-Mole
- poj 3034 Whac-a-Mole dp
- POJ 3034 Whac-a-Mole(三维dp+处理小技巧)
- Whac-a-Mole(动态规划)
- poj3034--Whac-a-Mole(dp)
- secureCRT 抓取串口数据
- Linux内核--网络栈实现分析(四)--网络层之IP协议(上)
- eclipse 不自动编译java文件的问题
- 利用vc++中.rc2文件把工程中的资源分类存放
- Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)
- poj Whac-a-Mole
- Linux内核--网络栈实现分析(六)--应用层获取数据包(上)
- 【leetcode】Populating Next Right Pointers in Each Node II
- Linux内核--网络栈实现分析(七)--数据包的传递过程(下)
- Linux内核--网络栈实现分析(八)--应用层发送数据(下)
- ubuntu 12.10 编译android4.0.1 源码报错
- kindle 使用指南
- Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)
- SCORM标准课件制作