전체 글

Hello World
· 백준
코드#include #include #include #include #include #include #include #include #include using namespace std;const int INF = 987654321;int n, m, a[10][10], dp[10][10][4];int go(int idx, int x, int dir) { if (x >= m || x > n >> m; // 입출력 for (int i = 0; i > a[i][j]; } } // dp배열 초기화 fill(&dp[0][0][0], &dp[0][0][0] + 10 * 10 * 4, -1); int res = INF; // 인덱스 위치랑, 이동을 어떤 방향으로 할지 선택 for (int i = 0;..
· 백준
코드#include #include #include #include #include #include #include #include #include using namespace std;int n, lh, rh, rl, ll, body;string s;char a[1003][1003];pair head = { -1, -1 };pair heart = { -1, -1 };pair b;void FASTIO() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);}int main() { FASTIO(); cin >> n; for (int i = 0; i > s; for (int j = 0; j 풀이머리의 위치를 찾아주면, 구현을 통해서 쉽게 해결..
· 백준
코드#include #include #include #include #include #include #include #include #include using namespace std;int n, t, p, a[53];map mp;map check;set st;void FASTIO() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);}int main() { FASTIO(); cin >> n >> t >> p; if (n == 0) { cout > a[i]; mp[a[i]]++; } int idx = n + 1; int idx2 = 1; for (int i = 1; i p) res = -1; cout 풀이동점 시에 랭킹이 밀리지 ..
· 백준
코드#include #include #include #include #include #include #include #include using namespace std;typedef long long ll;int n;vector> res;vector, int>> v;map mp;bool cmp(pair, int> a, pair, int> b) { return a.second > b.second;}void FASTIO() { ios_base::sync_with_stdio(); cin.tie(NULL); cout.tie(NULL);}int main() { FASTIO(); cin >> n; v.resize(n); for(int i = 0; i > v[i].first..
· 백준
코드#include #include #include #include #include #include #include #include using namespace std;typedef long long ll;const ll MAX_N = 100003;ll n, a[MAX_N], odd, even, res;void FASTIO() { ios_base::sync_with_stdio(); cin.tie(NULL); cout.tie(NULL);}int main() { FASTIO(); cin >> n; for(int i = 1; i > a[i]; if(i % 2) odd += a[i]; else even += a[i]; } if (odd == e..
· 백준
코드#include #include #include #include #include #include #include #include using namespace std;typedef long long ll;const int MAX_N = 200003;int t, n, m;vector tree;void update(int idx, int diff) { while(idx 0) { ans += tree[idx]; idx -= (idx & -idx); } return ans;}void FASTIO() { ios_base::sync_with_stdio(); cin.tie(NULL); cout.tie(NULL);}// 문제에서는 0 0 0 0 0 1, 2,..
· 백준
코드#include #include using namespace std;typedef long long ll;const int MAX_SIZE = 100003;int n, a[MAX_SIZE], m, i, r, x, l;vector odd, even;void update(vector &tree, int idx, int diff) { while(idx &tree, int idx) { int ans = 0; while(idx > 0) { ans += tree[idx]; idx -= (idx & -idx); } return ans;}void FASTIO() { ios_base::sync_with_stdio(false); cin.tie(NULL);..
· C++
vector.assign()과 vector.resize()의 차이resize()와 assign()의 차이는 주로 초기화 방식과 벡터의 동작에 있다.resize()는 벡터의 크기를 조정하지만, 기본값으로만 초기화 된다. resize(MAX_N)이라고 하면, 벡터는 MAX_N 크기로 변경되고 새로운 요소들은 0으로 초기화된다. 하지만 기존 요소들이 있다면 값을 변경하지 않고 그대로 남겨둔다.assign()은 벡터의 크기를 조정하면서 모든 요소를 새 값으로 덮어쓴다. assign(MAX_N, 0)을 하면 벡터의 모든 값을 0으로 설정하여 초기화하며, 이전에 남아있던 값들도 모두 덮어쓴다.따라서 assign은 벡터의 모든 요소를 특정 값으로 확실하게 덮었는 경우에 적합하고, resize는 크기만 조정할 때 사용..
· 백준
코드#include #include #include #include #include using namespace std;// N이 백만인 경우, 1003001이 나올 수 있음// N과 2N 사이에는 소수가 항상 존재한다는 성질을 이용int n, prime[2000003],res;bool isPell(int x) { string s = to_string(x); int st = 0; int e = s.length() - 1; while (st > n; fill(prime, prime + 2000003, 1); prime[0] = 0; prime[1] = 0; // 에라토스테네스의 체 for (int i = 2; i * i 풀이에라토스테네스의 체를 이용해서 소수를 찾아주었다. 그리고 펠린드롬을 확인하는 함수를..
· 백준
코드#include #include #include #include #include using namespace std;int n, rres, cres;string s;char a[103][103];void FASTIO() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);}int main() { FASTIO(); cin >> n; for (int i = 0; i > s; for (int j = 0; j = 2) rres++; // 누울 수 있는 경우 row = 0; } } if (row >= 2) rres++; // x를 만나지 못하고 끝난 경우 확인 } for (int i = 0; i = 2) cres++; // 누울 ..
Melon Man
제발 CPU는 집에서 만들어 씁시다