#include <string>
1. 변수 1개만 받을 경우
string str;
getline(cin,str);
2. 변수 2개 이상
string str,temp;
cin>>str;
cin.ignore();
getline(cin,temp);
cin 입력 다음에 cin.ignore()를 쓴 이유
: 버퍼에 '\n'이 남아, 전 버퍼에 남은 공백 및 개행문자를 포함해서 입력받기 때문에 버퍼를 지워주는 작업이 필요하다.
getline()의 경우는 '\n' 문자를 버퍼에 포함시키지 않기 때문에 버퍼를 비워줄 필요가 없다.
: 가까운 노드부터 먼 노드까지, 너비를 우선으로 방문한다. 그래프의 최단 경로 문제에 많이 사용함!
아아주 간단한 구현 : queue를 사용해서!
int dx[4]={1,-1,0,0};
void bfs(int x){
queue<int> que;
que.push(x);
checked[x]=true;
while(!que.empty()){
int currentPos = que.front();
que.pop();
for(int i=0;i<4;i++){
int nx = currentPos+dx[i]
if(!checked[nx]){
checked[nx]=true;
que.push(nx);
}
}
}
}
for (초기화식 ; 조건식 ; 증감식) {
실행할 내용
}
자료형 배열이름 [세로][가로]
일반적으로는 [가로][세로] 인데 2차원 배열 만들시에는 [세로][가로]