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 }
  • 相关阅读:
    MFC单文档框架分析及执行流程(转)
    MFC不同工程(解决方案)之间对话框资源的复制与重用方法(转)
    【DLL】动态库的创建,隐式加载和显式加载(转)
    H264协议(转)
    YUV颜色编码解析(转)
    windows下常用快捷键(转)
    【Sqlite3】SQLITE3使用总结(转)
    C++11 自动释放锁(转)
    alt+ F8 设置无效(转)
    Invalidate()(转)
  • 原文地址:https://www.cnblogs.com/miaowTracy/p/5348647.html
Copyright © 2011-2022 走看看