路径规划(京东2016实习生真题)
来源:互联网 发布:零壹乐队 知乎 编辑:程序博客网 时间:2024/05/19 13:29
题目链接:http://exercise.acmcoder.com/online/online_judge_ques?ques_id=3813&konwledgeId=41
解题思路:不在同意条直线上的起点与终点,就让起点按着对角道先到达与终点同直线的过度点,再转玩(水平或垂直)走到终点
代码如下:
#include<stdio.h>int chan(char c){switch (c) {case 'a':return 1;case 'b':return 2;case 'c': return 3;case 'd': return 4;case 'e':return 5;case 'f':return 6;case 'g':return 7;case 'h':return 8;}}int abs(int x){return x>=0?x:-x;}void f(int x,int y){int i; if(x==0&&y==0){ return ; }else if(x==0){ //printf("%d\n",y); if(y>0){ for(i=1;i<=y;i++){ printf("D\n"); }}else{//y<0 y=abs(y); for(i=1;i<=y;i++){ printf("U\n"); }} }else if(y==0){ if(x>0){ for(i=1;i<=x;i++){ printf("L\n"); }}else{//x<0x=abs(x); for(i=1;i<=x;i++){ printf("R\n"); }} }else if(x>0&&y>0){ for(i=1;i<=x;i++){ printf("LD\n"); } }else if(x<0&&y<0){ x=abs(x); for(i=1;i<=x;i++){ printf("RU\n"); } }else if(x>0&&y<0){ for(i=1;i<=x;i++){ printf("LU\n"); } }else { for(i=1;i<=y;i++){ printf("RD\n"); }}}int main(){char a1,a2;int d,dx,dy,x1,y1,x2,y2,x,y,i;while(scanf("%c%d",&a1,&y1)!=EOF){getchar(); scanf("%c%d",&a2,&y2); getchar(); x1=chan(a1); x2=chan(a2); x=x1-x2; y=y1-y2; dx=abs(x); dy=abs(y); d=abs(dx-dy); if(dx==dy){ printf("%d\n",dx); f(x,y); }else if(dx>dy){ printf("%d\n",dx); if(x>0){ f(dy,y); f(d,0); }else{ f(-dy,y); f(-d,0); } }else{ printf("%d\n",dy); if(y>0){ f(x,dx); f(0,d); }else{ f(x,-dx); f(0,-d); } } }return 0;}
0 0
- 路径规划(京东2016实习生真题)
- 三子棋(京东2016实习生真题)
- 生日礼物(京东2016实习生真题)
- 备考(京东2016实习生真题)
- 买糖果(京东2016实习生真题)
- 交易清单(京东2016实习生真题)
- 选举游戏(京东2016实习生真题)
- 选举游戏(京东2016实习生真题)
- 交易清单(京东2016实习生真题)
- 站队(京东2017实习生真题)
- 终结者编程题(京东2017实习生真题)
- 站队编程题(京东2017实习生真题)
- 通过考试(京东2017实习生真题)
- 通过考试(京东2017实习生真题)
- 拍卖(京东2017实习生招聘真题)
- 通过考试(京东2017实习生真题)
- 分堆A(京东2017实习生真题)
- 异或(京东2017实习生真题)
- java.lang.NoClassDefFoundError与aspectjrt、aspectjweaver的联系
- C++语言程序设计笔记(2)
- 微信公众号
- CodeForces 604 B.More Cowbell(贪心)
- android-ExpandableListView的使用
- 路径规划(京东2016实习生真题)
- Spring学习总结——Spring实现AOP的多种方式
- faster rcnn训练自己的数据集demo和训练过程error总结
- YARN源代码解读
- PHP 模块生命周期
- session_set_cookie_params()
- 动态规划入门-Triangle
- Android开发之自定义圆形的ImageView的实现
- 题目1177:查找