최근 글
[정올] 4641 / Tutorial: Operator Overloading(연산자 오버로딩)

#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pi_i; struct Rec{ int w , h; bool operator > a.w >> a.h >> b.w >> b.h; if(a < b) cout

[정올] 4791 / 숫자구슬(easy)

#include using namespace std; int n, m; int marbleNum[302]; bool check_(int mid) { int cnt = 1; int sum = 0; for (int i = 1; i m; for (int i = 1; i > marbleNum[i]; } int low = 1; int high = 30000; while (low < high) { int mid = (low + high) / 2; // 각 그룹의 합 중 최댓값이 최소가 되도록 M개의 그룹으로 나누었을 때 그 최댓값 if (check_(mid)) { high = mid; } else { low = mid + 1; } } cout

[정올] 4700 / Tutorial: STL vector 2

#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pi_i; int main(){ cin.tie(0); cout.tie(0); int n , m; cin >> n >> m; vector vec(n , m); char x; cin >> x; while(x != 'e'){ switch (x) { case 'i': int g; cin >> g; vec.push_back(g); break; case 'r': if(vec.size()) vec.pop_back(); break; case 's': sort(vec.begin() , vec.e..

[정올] 1726 / 구간의 최대값1

#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair pii; int dx[] = {0 , 0 , 1 , -1}; int dy[] = {1 , -1 , 0 , 0}; int n , q; int arr[50005]; int tree[50005 * 2]; int mn = 0; inline int Max(int a, int b){ return a>b ? a : b; } void build (int now, int s, int e){ if (s == e){ tree[now] = arr[s]; return; ..

[정올] 1703 / [백준] 2647 / 검은점과 하얀점 연결

#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; typedef signed char i8; typedef short i16; typedef int i32; typedef long long i64; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int n; string str; // 나중에 track 할때 다른 데이터가 필요 할 수 있으니까 우선 Struct로... struct ..

[정올] 1701 / [백준] 2306 / 유전자

#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; typedef signed char i8; typedef short i16; typedef int i32; typedef long long i64; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; string str; /* dp? "at" or "gc" = correct dna "a??t" or "g??c" = correct dna..

[정올] 1697 / 큐(queue)

#include using namespace std; int main(){ int n; queue st; cin >> n; while(n--){ char x; cin >> x; if(x == 'i'){ int g; cin >> g; st.push(g); } if(x == 'c'){ cout

[정올] 1695 / [백준] 2667 / 단지번호붙이기

#include using namespace std; int n = 0; int danzi = 0; class cell { public: int y; int x; cell(int _y, int _x) { y = _y; x = _x; } }; int main() { cin >> n; int M[25][25]; memset(M, 0, sizeof M); vector cnt; // count. for (int y = 0; y > c; if (c == '0') M[y][x] = 0; else M[y][x] = 1; } } for (int y = 0; y < n; y++) { for (int x = 0; x < n;..

[정올] 1681 / 해밀턴 순환회로

#include using namespace std; typedef long long ll; typedef pair pii; // global varable int n; // cost[from][to] = COST int cost[15][15]; // for go function bool visited[15]; int nowCost = 0; int leftSpot = 0; int minCost = 2100000000; void go(int where){ if(leftSpot == 0){ if(cost[where][0] > n; leftSpot = n - 1; for(int i = 0;i > cost[i][j]; } } visited..