블로그 언저리인 무언가
[백준/BOJ] 13140 Hello World! 본문
728x90
문제 : 13140 Hello World!
숫자 N이 주어질 때, hello + world = N을 만족하는
서로 다른 한자리 자연수 d, e, h, l, o, r, w를 출력하는 문제이다.
next_permutation을 사용해 모든 경우의 수를 체크해
만족하는 수를 찾아 출력하면 된다.
Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll N;
vector<ll> arr;
int main(){
cin >> N;
for (int i=0;i<10;i++){
arr.push_back(i);
}
ll chk=1;
do{
if (!chk)
break;
if (arr[0]==0 || arr[4]==0)
continue;
ll a=0, b=0, dir[2][5]={{0,1,2,2,3},{4,3,5,2,6}};
for (int i=0;i<5;i++){
a*=10;
b*=10;
a+=arr[dir[0][i]];
b+=arr[dir[1][i]];
}
if (a+b==N){
chk=0;
printf("%7d\n", a);
printf("+%6d\n", b);
printf("-------\n");
printf("%7d\n", N);
}
}while(next_permutation(arr.begin(),arr.end()));
if (chk)
cout << "No Answer";
return 0;
}
728x90
'Programming > BOJ' 카테고리의 다른 글
[백준/BOJ] 2110 공유기 설치 (0) | 2020.10.12 |
---|---|
[백준/BOJ] 18116 로봇 조립 (0) | 2020.10.09 |
[백준/BOJ] 1162 도로포장 (0) | 2020.10.02 |
[백준/BOJ] 1446 지름길 (0) | 2020.09.30 |
[백준/BOJ] 1766 문제집 (0) | 2020.09.29 |
Comments