zoukankan      html  css  js  c++  java
  • 【几何 大数】【HDOJ】5655 CA Loves Stick

    http://acm.hdu.edu.cn/showproblem.php?pid=5655

    题目给出4根长度在0~2^63-1的木棍,问能否组成四边形。

    四边形有很多种。。。正方形,长方形,菱形,梯形……枚举所有情况实在太复杂

    不过组成四边形的充要条件与组成三角形的充要条件是类似的:最大边>其余三边的和

    本来2^63-1是刚好在long long的范围内的,三边加起来就会超过这个范围

    正好今天刚学会用java大数就做了一个。。。用的非常粗糙-_-# 

    注意如果有木棍长度为0是一定不能组成四边形的……

    还有java交程序类名是Main……-_-# 

     1 import java.io.*;
     2 import java.math.*;
     3 import java.util.*;
     4 import java.text.*;
     5 
     6 public class Main 
     7 {
     8     public static void main(String[] args)
     9     {
    10         Scanner cin = new Scanner(new BufferedInputStream(System.in));
    11         int T;
    12         T = cin.nextInt();
    13         for(int i = 0; i < T; i++){
    14             BigInteger a, b, c, d, zero, max;
    15             char f;
    16             boolean flag = false;
    17             a = cin.nextBigInteger();
    18             b = cin.nextBigInteger();
    19             c = cin.nextBigInteger();
    20             d = cin.nextBigInteger();
    21             zero = BigInteger.valueOf(0);
    22             if(a.compareTo(zero) == 0 || b.compareTo(zero) == 0 || c.compareTo(zero) == 0 || d.compareTo(zero) == 0){
    23                 System.out.println("No");
    24                 continue;
    25             }
    26             max = a; f = 'a';
    27             if(max.compareTo(b) < 0) {max = b; f = 'b';}
    28             if(max.compareTo(c) < 0) {max = c; f = 'c';}
    29             if(max.compareTo(d) < 0) {max = d; f = 'd';}
    30             if(f == 'a' &&  (a.compareTo( b.add(c).add(d) ) < 0) ) flag = true;
    31             if(f == 'b' &&  (b.compareTo( a.add(c).add(d) ) < 0) ) flag = true;
    32             if(f == 'c' &&  (c.compareTo( a.add(b).add(d) ) < 0) ) flag = true;
    33             if(f == 'd' &&  (d.compareTo( a.add(b).add(c) ) < 0) ) flag = true;
    34             if(flag == true) System.out.println("Yes");
    35             else System.out.println("No");
    36         }
    37     }
    38 }
  • 相关阅读:
    HDU 3697贪心
    HDU 3226 背包
    numpy_2nd 新建矩阵的五种方法 array zeros empty arange().reshape()
    numpy_1st 属性 ndim,shape,size
    CV学习笔记第二课(上)
    33. 搜索旋转排序数组 二分法
    35. 搜索插入位置 今天就是二分法专场
    34.在排序数组中查找元素的第一个和最后一个位置 二分法
    CV第三课
    CV第二课(下)
  • 原文地址:https://www.cnblogs.com/miaowTracy/p/5348647.html
Copyright © 2011-2022 走看看