• 编程菜鸟的日记-初学尝试编程-螺旋队列


    #include <iostream>

    using namespace std;

    #define max(a,b) ((a)>(b)?(a):(b))

    #define abs(a) ((a)>0?(a):(-a))

    #define square(a) ((a)*(a))

    int Spiral_Queue(int x,int y)

    {

        int t=max(abs(x),abs(y));

        int val;   

        if(y==-t)//北边线 增长从左往右与横坐标方向一致 (2t-1).^2+7t+x

            val=square(2*t-1)+7*t+x;

        if(y==t)//南边线  增长从右至左与横坐标方向相反 (2t-1).^2+3t-x

             val=square(2*t-1)+3*t-x;

        if(x==-t)//西边线 增长从下至上与纵坐标方向相反 (2t-1).^2-y

              val=square(2*t-1)+5*t-y;

         else if(x==t)//东边线 增长从上至下与纵坐标方向一致 (2t-1).^2+y

               val=square(2*t-1)+t+y;

          return val;

    }

    int main()

    {

        int x,y;

        int val;

        cout<<"请输入坐标(x,y) ";

        cin>>x>>y;

        val=Spiral_Queue(x,y);

        cout<<"val="<<val<<endl;

        system("pause");

        return 0;

         

       

  • 相关阅读:
    WinForm控件之【DateTimePicker】
    WinForm控件之【ComboBox】
    WinForm控件之【CheckedListBox】
    第五章学习小结
    第四章学习小结
    第三章学习小结
    第二章学习小结
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/lynnycy/p/3381992.html
Copyright © 2020-2023  润新知