https://www.acmicpc.net/problem/1107
๋ฌธ์
์๋น์ด๋ TV๋ฅผ ๋ณด๊ณ ์๋ค. ์๋น์ด๋ ์ฑ๋์ ๋๋ฆฌ๋ ค๊ณ ํ์ง๋ง, ๋ฒํผ์ ๋๋ฌด ์ธ๊ฒ ๋๋ฅด๋ ๋ฐ๋์, ์ผ๋ถ ์ซ์ ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋ค.
๋ฆฌ๋ชจ์ปจ์๋ ๋ฒํผ์ด 0๋ถํฐ 9๊น์ง ์ซ์, +์ -๊ฐ ์๋ค. +๋ฅผ ๋๋ฅด๋ฉด ํ์ฌ ๋ณด๊ณ ์๋ ์ฑ๋์์ +1๋ ์ฑ๋๋ก ์ด๋ํ๊ณ , -๋ฅผ ๋๋ฅด๋ฉด -1๋ ์ฑ๋๋ก ์ด๋ํ๋ค. ์ฑ๋ 0์์ -๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ์๋ ์ฑ๋์ด ๋ณํ์ง ์๊ณ , ์ฑ๋์ ๋ฌดํ๋ ๋งํผ ์๋ค.
์๋น์ด๊ฐ ์ง๊ธ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋์ N์ด๋ค. ์ด๋ค ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋์ง ์ฃผ์ด์ก์ ๋, ์ฑ๋ N์ผ๋ก ์ด๋ํ๊ธฐ ์ํด์ ๋ฒํผ์ ์ต์ ๋ช ๋ฒ ๋๋ฌ์ผํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋น์ด๊ฐ ์ง๊ธ ๋ณด๊ณ ์๋ ์ฑ๋์ 100๋ฒ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ์ M (0 ≤ M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ ์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ด ์ฃผ์ด์ง๋ฉฐ, ๊ฐ์ ๋ฒํผ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฑ๋ N์ผ๋ก ์ด๋ํ๊ธฐ ์ํด ๋ฒํผ์ ์ต์ ๋ช ๋ฒ ๋๋ฌ์ผ ํ๋์ง๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฐฑ์ค ๊ณจ๋ 5 ๋ฌธ์ .
์ฒ์์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ถํฐ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ฉด์, ๊ณ ์ฅ๋ ๋ฒํผ์ ํฌํจํ์ง ์๋ ์๋ฅผ ๋ฐ๊ฒฌํ๋ฉด
๋ฐ๋ณต๋ฌธ์ ๋๋ด๋ฉด ๋ ๊ฒ ๊ฐ์๋๋ฐ
์๊ฐํด๋ณด๋ ์์ธ๋ ๋ง์ ๊ฒ ๊ฐ์๊ณ N๋ณด๋ค ์์ ์ชฝ์ผ๋ก ๊ฐ๋ ๊ฒฝ์ฐ๋ ์๊ณ <-> ํฐ ์ชฝ์ผ๋ก ๊ฐ๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์
๊ฒฐ๊ตญ ๋๊ฐ์์ ์ํ์ผ๋ก ํ์๋ค..
์ฃผ์์ฌํญ์ ๋ฒ์๊ฐ 500,000์ด์ง๋ง ์ต๋ ์๊ฐ ์ ๋ ฅ๋์ด๋ ๊ทธ๊ฒ๋ณด๋ค ํฐ ์๋ถํฐ ๋ฆฌ๋ชจ์ปจ ์กฐ์์ ์์ํด์ผํ ์๋ ์์ผ๋ฏ๋ก
๋ฒ์๋ฅผ 1,000,000๊น์ง ์ฐพ์์ฃผ๋๊ฒ ์ค์ํ๋ค
Xucking Brute Force!!
๋์ ํ์ด
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int n;
int m;
vector<char> nobtn;
bool check(int num){
string s = to_string(num);
for (int i = 0; i < s.size(); ++i){
if(find(nobtn.begin(),nobtn.end(),s[i])!=nobtn.end()){
return false;
}
}
return true;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
char a;
for (int i = 0; i < m; ++i){
cin >> a;
nobtn.push_back(a);
}
if(n==100) {
cout << 0;
return 0;
}
int minimum = abs(n-100);
string N = to_string(n);
for (int i = 0; i <= 1000000; ++i){
if(check(i)){
// ์ซ์ ๊ธธ์ด(์ซ์๋ฒํผ ๋๋ฅด๋ ํ์) + ์ฐจ์ด(+/-๋ฒํผ ๋๋ฅด๋ ํ์)๋ฅผ ๋ํด์ค๋ค
int now = to_string(i).length() + abs(i - n);
if(minimum > now) minimum = now;
}
}
cout << minimum;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/BOJ] 5430 : AC (์๋ฃ๊ตฌ์กฐ) (0) | 2023.05.02 |
---|---|
[C++/BOJ] 7576 : ํ ๋งํ (bfs/dfs) (0) | 2023.04.14 |
[C++/BOJ] 16236 : ์๊ธฐ ์์ด (bfs/dfs) (0) | 2023.04.13 |
[C++/BOJ] 2468 : ์์ ์์ญ (bfs/dfs) (0) | 2023.04.13 |
[C++/BOJ] 21610 : ๋ง๋ฒ์ฌ ์์ด์ ๋น๋ฐ๋ผ๊ธฐ (์๋ฎฌ๋ ์ด์ ) (0) | 2023.04.05 |