得分若是奇數 或 總和<差都是impossible

Problem

------------------------------------------

#include <stdio.h>

int main()
{
    double sum, diff, a, b; /* difference */
    int _case;

    scanf("%d", &_case);
    while(_case--)
    {
        scanf("%lf%lf", &sum, &diff);
        a = (sum + diff) / 2;
        b = (sum - diff) / 2;
        if(a == (int)a && b == (int)b && sum >= diff) /* Scores are always integers and sum is greater and equal to difference. */
            printf("%d %d\n", (int)a, (int)b);
        else
            printf("impossible\n");
    }
    return 0;
}
 

----2017-06-24----

import java.util.*;
public class main{
    public static void main(String[] args) {
        try {
            Scanner sc = new Scanner(System.in);
            int cases = sc.nextInt();
            while (cases-- > 0) {
                int x, sum = sc.nextInt(), diff = sc.nextInt();
                if (sum < diff) {
                    System.out.println("impossible");
                    continue;
                }

                double result = (sum + diff) / 2.0;
                if (Math.floor(result) != result) { // Non-integer
                    System.out.println("impossible");
                    continue;
                }

                x = (sum + diff) / 2;
                System.out.println("" + x + " " + (sum - x));
            }
        } catch (Exception e) {
        }
    }
};
 

arrow
arrow
    全站熱搜

    awesq123 發表在 痞客邦 留言(0) 人氣()