알고리즘
백준 2082번 시계 C++
영춘권의달인
2022. 2. 11. 14:53
0부터 비교하면서 켜지지 않아야 할 곳에 불이 켜져있으면 넘어가고 모두 꺼져있다면 그 번호로 만들 수 있다.
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
using namespace std;
using ll = long long;
vector<vector<bool>> nums(10, vector<bool>(15, true));
vector<vector<bool>> v(4, vector<bool>(15, true));
void Init() {
nums[0][4] = false;
nums[0][7] = false;
nums[0][10] = false;
nums[1][0] = false;
nums[1][1] = false;
nums[1][3] = false;
nums[1][4] = false;
nums[1][6] = false;
nums[1][7] = false;
nums[1][9] = false;
nums[1][10] = false;
nums[1][12] = false;
nums[1][13] = false;
nums[2][3] = false;
nums[2][4] = false;
nums[2][10] = false;
nums[2][11] = false;
nums[3][3] = false;
nums[3][4] = false;
nums[3][9] = false;
nums[3][10] = false;
nums[4][1] = false;
nums[4][4] = false;
nums[4][9] = false;
nums[4][10] = false;
nums[4][12] = false;
nums[4][13] = false;
nums[5][4] = false;
nums[5][5] = false;
nums[5][9] = false;
nums[5][10] = false;
nums[6][4] = false;
nums[6][5] = false;
nums[6][10] = false;
nums[7][3] = false;
nums[7][4] = false;
nums[7][6] = false;
nums[7][7] = false;
nums[7][9] = false;
nums[7][10] = false;
nums[7][12] = false;
nums[7][13] = false;
nums[8][4] = false;
nums[8][10] = false;
nums[9][4] = false;
nums[9][9] = false;
nums[9][10] = false;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
Init();
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4; j++) {
string str;
cin >> str;
for (int k = 0; k < 3; k++) {
if (str[k] == '.') {
v[j][i * 3 + k] = false;
}
}
}
}
vector<int> ans(4);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 10; j++) {
bool isAns = true;
for (int k = 0; k < 15; k++) {
if (!nums[j][k]) {
if (v[i][k]) isAns = false;
}
}
if (isAns) {
ans[i] = j;
break;
}
}
}
for (int i = 0; i < 4; i++) {
if (i == 2) cout << ":";
cout << ans[i];
}
};