首页 > 代码库 > BZOJ1193 马步距离 (贪心)
BZOJ1193 马步距离 (贪心)
恶心的题目= =
1 #include <cstdio> 2 #include <cmath> 3 #include <algorithm> 4 int f[5][5]={{0,3,2,3,2},{3,2,1,2,3},{2,1,4,3,2},{3,2,3,2,3},{2,3,2,3,4}}; 5 int main() 6 { 7 int a,b,c,d,x,y,ans=0; 8 scanf("%d%d%d%d",&a,&b,&c,&d); 9 x=abs(a-c); y=abs(b-d);10 while ((x>4)||(y>4) )11 {12 if (x>y) {x-=2; y-=1;}13 else {x-=1; y-=2; }14 x=abs(x);15 y=abs(y);16 ans++;17 18 }19 if ((x<=4)&&(y<=4)) {printf("%d",ans+f[x][y]); return 0;}20 while ((x==1)&&(y>=4)) 21 {22 x-=1; y-=2; ans++;23 }24 while ((y==1)&&(x>=4))25 {26 x-=2; y-=1; ans++;27 }28 while ((x==0)&&(y>=4))29 {30 y-=4; ans+=2;31 }32 while ((y==0)&&(x>=4))33 {34 x-=2; ans+=2;35 }36 ans+=f[x][y];37 printf("%d",ans);38 }
BZOJ1193 马步距离 (贪心)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。