Codeforces 3A Shortest Path of the King

来源:互联网 发布:中国为什么封闭网络 编辑:程序博客网 时间:2024/04/28 17:04

有人说用BFS,但我认为这大可不必。计算从S点到T点需横走多少步,纵走多少步,再把横纵最大限度合并成为斜走,如有剩下再横/纵走即可。

#include "stdio.h"int min(int a,int b){return a<b?a:b;}int abs(int x){return x>=0?x:(-x);}int main(){char X1,Y1,X2,Y2,dirheng,dirshu;int heng,shu,ans,i;scanf("%c%c\n%c%c\n",&X1,&Y1,&X2,&Y2);heng=X2-X1;shu=Y2-Y1;if(heng>=0)dirheng='L';else dirheng='R';if(shu>=0)dirshu='D';else dirshu='U';ans=min(heng,shu)+abs(abs(heng)-abs(shu));for(i=1;i<=min(heng,shu);i++)printf("%c%c\n",dirheng,dirshu);for(i=1;i<=abs(abs(heng)-abs(shu));i++){if(abs(heng)>abs(shu))printf("%c\n",dirheng);else printf("%c\n",dirshu);}return 0;}


0 0