zoukankan      html  css  js  c++  java
  • poj 1870 Bee Breeding

    思路:首先要建立坐标,具体作法见:http://www.cnblogs.com/xin-hua/p/3237096.html

    然后将得到2坐标之差x,y;如果x,y同号,则相加,否则去最大.(要取绝对值的)

    代码如下:

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<algorithm>
     4 #include<iomanip>
     5 #include<cmath>
     6 #include<cstring>
     7 #include<vector>
     8 #define ll __int64
     9 #define pi acos(-1.0)
    10 #define MAX 50000
    11 using namespace std;
    12 struct dir
    13 {
    14     int x,y;
    15     dir(){}
    16     dir(int a,int b){
    17         x=a;
    18         y=b;
    19     }
    20     dir operator+(dir A){
    21         return dir(A.x+x,A.y+y);
    22     }
    23 }an[6];
    24 dir solve(int n)
    25 {
    26     int k,m,i,j;
    27     dir p;
    28     k=((sqrt(12.0*n-3.0)-3.0)/6.0);
    29     if(3*k*(k+1)+1!=n) k++;
    30     p.x=k;p.y=0;
    31     m=0;
    32     if(k>0) m=6*k-((3*k*(k+1)+1)-n);
    33     i=0;
    34     while(m){
    35         for(j=0;j<k;j++){
    36             p=p+an[i];
    37             m--;
    38             if(m==0)
    39                 break;
    40         }
    41         i++;
    42     }
    43     return p;
    44 }
    45 int main(){
    46     int n,x,y,ans,m;
    47     an[0]=dir(-1,1);an[1]=dir(-1,0);an[2]=dir(0,-1);
    48     an[3]=dir(1,-1);an[4]=dir(1,0);an[5]=dir(0,1);
    49     while(cin>>n>>m){
    50         if(m==0&&n==0) break;
    51         dir aa=solve(n);
    52         dir bb=solve(m);
    53         x=aa.x-bb.x;
    54         y=aa.y-bb.y;
    55         if((x<0&&y<0)||(x>0&&y>0))
    56             ans=abs(x+y);
    57         else ans=max(abs(x),abs(y));
    58         printf("The distance between cells %d and %d is %d.
    ",n,m,ans);
    59     }
    60     return 0;
    61 }
    View Code
  • 相关阅读:
    properties的编码问题
    在Spring中读取properties文件
    Intellij IDEA常用配置记录
    基于Shiro的登录功能 设计思路
    在SpringMVC中操作Session、Request、Response对象
    使用MockMVC与Junit进行单体测试
    django: form fileupload
    django: form
    django: db
    django: db
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3237610.html
Copyright © 2011-2022 走看看