블로그 언저리인 무언가
자주 쓰지만 까먹는 문법 모음 본문
728x90
#include <bits/stdc++.h> // gcc에서 대부분의 헤더를 포함하는 헤더파일
#define ll long long //long long 축약
#define INF 1e9+7 // 최대값
#define MOD (ll)(1e9+7) // 나머지계산
using namespace std;
typedef pair<ll,ll> pll; // pair 축약
// 구조체 만들기
struct Edge{
ll idx, dst;
Edge() {}
Edge(ll a, ll b): idx(a), dst(b) {}
};
struct dice{
ll arr[3][2];
dice() {}
dice(ll a, ll b, ll c, ll d, ll e, ll f) : arr{{a,f},{b,d},{c,e}} {}
};
// 구조체 비교함수(우선순위 큐에 자주 사용)
bool operator<(ABC x, ABC y){
return x.b>y.b;
}
// sort 기준 함수
bool cmp(ABC x, ABC y){
return x.a>y.a;
}
// 최대공약수 구하기
ll gcd(ll a, ll b){
return a ? gcd(b%a,a) : b;
}
// 최소 공배수 구하기
ll lcm(ll a, ll b){
return a/gcd(a,b)*b;
}
int main(){
// cin, cout 속도증가
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll A[105], B[105][105], C[105][105];
vector<ll> v;
string s;
double d;
// 공백 포함 한줄 입력 받기
getline(cin,s);
// cin과 getline 혼용시 버퍼 비우기
cin.ignore();
// 배열에서 최대,최소값 찾기
max_element(A,A+105);
min_element(v.begin(),v.end());
// 2차원 이상 배열 쉽게 초기화하기
fill(&B[0][0],&B[104][105],-1);
// 2차원 이상 배열 쉽게 복사하기 (B를 C로 옮길때)
copy(&B[0][0],&B[104][105],&C[0][0]);
// 배열 오름차순으로 채우기
iota(A,A+105,0);
iota(v.begin(),v.end(),0);
// 내림차순 정렬
sort(v.begin(),v.end(), greater<ll>());
// 이진탐색으로 값찾기 (정렬 선행) 있으면 1, 없으면 0 반환
if (binary_search(v.begin(),v.end(),99));
// 크거나 같으면서 제일 작은 값 찾기
*lower_bound(v.begin(),v.end(),99);
// 크면서 제일 작은 값 찾기
*upper_bound(v.begin(),v.end(),99);
// 내림차순 우선순위큐
priority_queue<ll, vector<ll>, greater<ll> > pq;
// 사전순으로 다음인 순열 구하기, 없다면 0반환
next_permutation(v.begin(),v.end());
// 벡터값의 중복제거 (정렬 선행)
v.erase(unique(v.begin(),v.end()),v.end());
// 소수 반올림
d=floor(d+0.5);
// cout x칸만큼 공백+왼쪽정렬
cout << setw(x) << "123";
return 0;
}
728x90
'Programming > Etc' 카테고리의 다른 글
2024 SCON 후기 (0) | 2024.05.27 |
---|---|
2023 SCON 후기 (0) | 2023.05.24 |
컴퓨터 바꾼김에 쓰는 VScode 세팅법 (0) | 2021.09.30 |
2020 ICPC Seoul Regional 예선 후기 (0) | 2020.10.11 |
Comments