백준 알고리즘/Lang-C | C++

[백준/C] 4299번 AFC 웜블던

Jongung 2021. 8. 17. 01:23

 

백준 온라인 저지 / 4299번 AFC 웜블던

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

 

 

 

  • 사용언어 : C (C99)
  • 알고리즘 : 수학, 사칙연산

 

 

 

C 코드

1. 문제 정리

 

2개의 입력을 받아서 푸는 문제이다.

 

이 정도면 탈 브4문제인데 ㅋㅋㅋ... 빨리 풀려고 고른 문제가 좀 걸렸다 ㅎㅎ;;

 

합과 차를 주고 합 차가 없다면 -1을 출력하는 그런 문젠데 뭐 저리 많이 써놓은건지.. 읽다가 잠들 뻔 ㅋㅋ;;

 

 

2. %의 중요성

 

a -= b;

if (a % 2 == 0) {
	c = a / 2 + b;
	d = a / 2;
	printf("%d %d", c, d);
}

 

앞에 값 % 2 == 0

그러니깐 나눠서 남은 값이 0일 때니깐 

a-b가 짝수여야 된다는 것이다. 짝수가 아니면 합차 자체가 안나오기에..

 

사실 예외처리로 -1출력하는게 힘들지 이게 뭐 힘드나...

 

 

3. 완성 코드

 

#include <stdio.h>

int main(void)
{
	int a, b, c, d;
	scanf("%d %d", &a, &b);

	a -= b;

	if (a < 0) {
		printf("-1");
	}
	else {
		if (a % 2 == 0) {
			c = a / 2 + b;
			d = a / 2;
			printf("%d %d", c, d);
		}
		else {
			printf("-1");
		}
	}
}

 

C하고 자료구조 진짜 시작해서 백준 상위문제좀 풀어보자 ㅠㅠ