※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 27621번 문제인 Sum of Three Cubes이다.
문제는 아래 링크를 확인하자.

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

 

27621번: Sum of Three Cubes

Recently, a mathematician has just found three cube numbers that sum up to 42 using over a million hours of computing time. With this breakthrough, we have found three cube numbers that sum up to all non-negative integers less than 100 if it is possible to

www.acmicpc.net

문제에 제시된 각 0 이상 50 미만의 정수 N을 세 정수의 세제곱의 합으로 나타내는 방법의 예시를 그대로 출력해 문제를 해결하자.

 

N의 범위가 충분히 작으므로, 하드코딩으로 문제를 해결할 수 있을 것이다. 파싱하는 코드를 작성하거나 하는 방법 등으로 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int N;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N;

	switch (N) {
	case 0: cout << "0 0 0";
		break;
	case 1: cout << "0 0 1";
		break;
	case 2: cout << "0 1 1";
		break;
	case 3: cout << "1 1 1";
		break;
	case 4: cout << "0";
		break;
	case 5: cout << "0";
		break;
	case 6: cout << "-1 -1 2";
		break;
	case 7: cout << "0 -1 2";
		break;
	case 8: cout << "0 0 2";
		break;
	case 9: cout << "0 1 2";
		break;
	case 10: cout << "1 1 2";
		break;
	case 11: cout << "-2 -2 3";
		break;
	case 12: cout << "7 10 -11";
		break;
	case 13: cout << "0";
		break;
	case 14: cout << "0";
		break;
	case 15: cout << "-1 2 2";
		break;
	case 16: cout << "-511 -1609 1626";
		break;
	case 17: cout << "1 2 2";
		break;
	case 18: cout << "-1 -2 3";
		break;
	case 19: cout << "0 -2 3";
		break;
	case 20: cout << "1 -2 3";
		break;
	case 21: cout << "-11 -14 16";
		break;
	case 22: cout << "0";
		break;
	case 23: cout << "0";
		break;
	case 24: cout << "-2901096694 -15550555555 15584139827";
		break;
	case 25: cout << "-1 -1 3";
		break;
	case 26: cout << "0 -1 3";
		break;
	case 27: cout << "0 0 3";
		break;
	case 28: cout << "0 1 3";
		break;
	case 29: cout << "1 1 3";
		break;
	case 30: cout << "-283059965 -2218888517 2220422932";
		break;
	case 31: cout << "0";
		break;
	case 32: cout << "0";
		break;
	case 33: cout << "8866128975287528 -8778405442862239 -2736111468807040";
		break;
	case 34: cout << "-1 2 3";
		break;
	case 35: cout << "0 2 3";
		break;
	case 36: cout << "1 2 3";
		break;
	case 37: cout << "0 -3 4";
		break;
	case 38: cout << "1 -3 4";
		break;
	case 39: cout << "117367 134476 -159380";
		break;
	case 40: cout << "0";
		break;
	case 41: cout << "0";
		break;
	case 42: cout << "-80538738812075974 80435758145817515 12602123297335631";
		break;
	case 43: cout << "2 2 3";
		break;
	case 44: cout << "-5 -7 8";
		break;
	case 45: cout << "2 -3 4";
		break;
	case 46: cout << "-2 3 3";
		break;
	case 47: cout << "6 7 -8";
		break;
	case 48: cout << "-23 -26 31";
		break;
	case 49: cout << "0";
		break;
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 25335 // C++] Gravity Hackenbush  (0) 2023.03.05
[BOJ 1983 // C++] 숫자 박스  (0) 2023.03.05
[BOJ 27627 // C++] Splitology  (0) 2023.03.04
[BOJ 27708 // C++] Antisort  (0) 2023.03.04
[BOJ 20877 // C++] Minigolf  (0) 2023.03.04

+ Recent posts