• poj1319Pipe Fitters


    链接

    算不上几何的水题

    第一种为(int)a*(int)b;

    第二种分宽高交换两种讨论。

    每一个的高度除第一个为1外其它的都可以看着b/sqrt(3.0)/2;

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 #include<vector>
     7 #include<cmath>
     8 #include<queue>
     9 #include<set>
    10 using namespace std;
    11 #define N 100000
    12 #define LL long long
    13 #define INF 0xfffffff
    14 const double eps = 1e-8;
    15 const double pi = acos(-1.0);
    16 const double inf = ~0u>>2;
    17 int dcmp(double x)
    18 {
    19     if(fabs(x)<eps) return 0;
    20     else return x<0?-1:1;
    21 }
    22 int solve(double a,double b,int ta,int tb)
    23 {
    24     if(dcmp(a-1)<0||dcmp(b-1)<0) return 0;
    25     int sum2;
    26     int k = (b-1)/(sqrt(3.0)/2)+1;
    27     if(dcmp(a-ta-0.5)>=0)
    28         sum2 = k*ta;
    29     else
    30         sum2 = (k+1)/2*ta+k/2*(ta-1);
    31     return sum2;
    32 }
    33 int main()
    34 {
    35     double a,b;
    36     while(scanf("%lf%lf",&a,&b)!=EOF)
    37     {
    38         int ta = int(a+eps);
    39         int tb = int(b+eps);
    40         int sum1 = ta*tb;
    41         int sum2 = solve(a,b,ta,tb);
    42         swap(a,b);
    43         sum2 = max(sum2,solve(a,b,tb,ta));
    44         if(sum1>=sum2)
    45         printf("%d grid
    ",sum1);
    46         else
    47         printf("%d skew
    ",sum2);
    48     }
    49     return 0;
    50 }
    View Code
  • 相关阅读:
    datatime模块
    快速幂
    | 与|| ,& 与&&
    sql----order by
    pandas iterrows()
    黄包车比赛 python学习
    右键git-bash不能使用
    17flask分页
    16flask错误处理
    15跨站请求伪造
  • 原文地址:https://www.cnblogs.com/shangyu/p/3822941.html
Copyright © 2020-2023  润新知