• Codeforces Round #171 (Div. 2) A. Point on Spiral


    #include<iostream>
    #include<math.h>
    using namespace std;
    int ABS(int a)
    {
    	return a>0?a:-a;
    }
    int main()
    {
    	
         int a,b;
    	 int flage;
    	 int turn;
    	 int temp,tempa,tempb;
    	 while(cin>>a>>b)
    	 {
         tempa=ABS(a);
    	 tempb=ABS(b);
    	 if(tempa!=0||tempb!=0)
    	 {
         
    	 if(tempa!=tempb||(a>0&&a+b==0))
    	 {
    		 temp=tempa>tempb?a:b;
    		 if(temp==a)flage=0;
    		 else flage=1;
    		 if(temp<0)
    		 {
    			 if(flage==0)
                 turn=ABS(temp)*2+ABS(temp)*2-1;
    			 else
    		     turn=ABS(temp)*2+ABS(temp)*2;
             }
    		 else
    		 if(temp>0)
    		 {
    			 if(flage==0)
    		     turn=(temp-1)*2+(temp-1)*2-1+2;
    			 else
    			 turn=(temp-1)*2+(temp-1)*2+2;
    		 }
    		 if(a+b==1&&a>b)turn-=1;
    	 }
    	 else
         if(a==b)
    	 {
              if(a>0)
    		  	  turn=4*(a-1)+1;
    		  else
                   turn=4*(ABS(a)-1)+3;
         }
    	 if(a+b==0&&a<0)
    	 {
    		 turn=(ABS(a)-1)*4+2;
    	 }
    	 }
         else
    		 turn=0;
    	 cout<<turn<<endl;
    	 }
    	return 0;
    }
    

      

  • 相关阅读:
    网络
    分区
    JavaScript概述
    CSS样式属性
    css选择器
    CSS的引入方式
    css介绍
    HTML结构
    常用标签
    HTML介绍
  • 原文地址:https://www.cnblogs.com/cs1003/p/2950920.html
Copyright © 2020-2023  润新知