zoukankan      html  css  js  c++  java
  • 【CF1425H】Huge Boxes of Animal Toys 题解

    原题链接

    题意简介:

    已知分别处在 ((-infty,-1]) H、((-1,0))((0,1))([1,infty)) 的实数的数量(下记为集合 (A,B,C,D) ),试问:把这些数乘起来后,答案的可能出现在那个范围中?

    题解:

    首先,我们不难发现,如果负数的个数为奇数,那么答案必然在 (A)(B) 中,否则,将出现在 (C)(D) 中。

    确定了这一点后,我们将符号全部视为正,试着探索答案能否出现在 (C)(D) 中。

    显然,由于我们可以给这些数随便赋一个范围内的值,那么我们只需要考虑极端情况即可。

    只要原本有一个数绝对值在 (D) 里,只要把这个数取到无限大,其它在 (C) 中的取无限接近于 (1) ,最终答案就会在 (D) 里。

    同理,只要原本有一个数绝对值在 (C) 里,只要把这个数取到无限趋近于 (0) ,其它在 (D) 中的取 (1) ,最终答案就会在 (C) 里。

    签到题之一。

    #include <cstdio>
    int t,A,B,C,D;
    inline void out(bool x){
        printf(x?"Ya ":"Tidak ");
    }
    int main(){
        scanf("%d",&t);
        while(t--){
            scanf("%d%d%d%d",&A,&B,&C,&D);
            if((A+B)&1){
                if(D||A) A=1,D=0;
                if(B||C) B=1,C=0;
            }else{
                if(D||A) A=0,D=1;
                if(B||C) B=0,C=1;
            }
            out(A); out(B); out(C); out(D);
            putchar('
    ');
        }
        return 0;
    }
    
  • 相关阅读:
    聊一聊Java泛型的擦除
    微信退款通知信息解密
    Spring Boot 初识
    shiro初识
    Redis 初探
    Java Json库的选取准则
    JAVA 几款Json library的比较
    FUSE简介
    Lab 2 源码分析
    Lab2
  • 原文地址:https://www.cnblogs.com/Qing-LKY/p/CF1425H-solutionH.html
Copyright © 2011-2022 走看看