반응형

백준 4299번 AFC 윔블던 풀이 코드

C | C++ | Java | Python


풀이

합이 a, 차가 b일 때, x = (a+b)/2, y = (a-b)/2 입니다. 만약 차가 합보다 작거나 구한 수가 주어진 합과 차를 만족하지 못할 경우는 -1을 출력합니다.

코드

#include <stdio.h>

int main(){
    int a, b, x, y;
    scanf("%d %d", &a, &b);
    if(a < b)
        printf("-1");
    else{
        x=(a+b)/2;
        y=(a-b)/2;
        if(x+y==a && x-y==b)
            printf("%d %d", x, y);
        else
            printf("-1");
    }
    return 0;
}
#include <iostream>
using namespace std;

int main(){
    int a, b, x, y;
    cin>>a>>b;
    if(a < b)
        cout<<"-1";
    else{
        x=(a+b)/2;
        y=(a-b)/2;
        if(x+y==a && x-y==b)
            cout<<x<<" "<<y;
        else
            cout<<"-1";
    }
    return 0;
}
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt(), b = sc.nextInt();
        if(a < b)
            System.out.println("-1");
        else{
            int x = (a+b)/2, y = (a-b)/2;
            if(x+y==a && x-y==b)
                System.out.println(x+" "+y);
            else
                System.out.println("-1");
        }
    }
}
a, b=map(int,input().split())
if a < b:
    print(-1)
else:
    x=(a+b)//2
    y=(a-b)//2
    if x+y==a and x-y==b:
        print(x, y)
    else:
        print(-1)

문제 출처

https://www.acmicpc.net/problem/4299

반응형

+ Recent posts