1 #include <iostream>
2 using namespace std;
3 int d;
4 int x,y;
5 void run(int a,int b)
6 {
7 if(a<=0||b<=0)
8 return ;
9 if(d==0)
10 y++;
11 else if(d==1)
12 x++;
13 else if(d==2)
14 y--;
15 else
16 x--;
17 run(a-b,b);
18 d=(d+1)%4;
19 run(b-a,a);
20 return ;
21 }
22 int main()
23 {
24 int t;
25 cin>>t;
26 while(t--)
27 {
28 int a,b;
29 cin>>a>>b;
30 x=y=0;
31 d=0;
32 run(a,b);
33 cout<<x<<" "<<y<<endl;
34 }
35 }
转载于:https://www.cnblogs.com/congzc/archive/2011/05/16/2329963.html
本文介绍了一个使用递归算法解决问题的示例程序。该程序通过不同的方向移动来改变坐标(x, y),并根据变量d的不同值进行条件判断,实现了一种特定的路径遍历逻辑。
3756

被折叠的 条评论
为什么被折叠?



