목록분류 전체보기 (763)
Mini
2667번: 단지번호붙이기 (acmicpc.net) 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net * int dfs 구현방법 1. dfs내의 int ret=1 2. main의 ret.push(dfs(i,j)) * scanf-cin혼용금지 ios와 cin을 지우고 scanf로 고쳤더니 정답...? #include using namespace std; typedef long long int ll; int n, c, a[25][25], v[25][25]; int dx[] = {0,1,-1,0}; int dy[] =..

https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 1.int dfs => 영역안의 원소가 몇개인지 카운팅 2.ny>m,n 둘중 뭐쓸지 확실하게 3.좌표를 배열로 바꾸기 #include using namespace std; #define y1 aaaa const int max_n = 104; int m,n,k, ny, nx, ans, a[max_n][max_n], visited[max_n][max_n]; int dx[] = { ..
https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net * 잘못접근 : a_copy 배열에 안전지역을 -1로 플래그.....복잡 * 해결 : 높이를 인자로 추가 높이 초과일때만 bfs탐색! #include using namespace std; const int max_n = 104; int n, ny, nx, ret, ans, a[max_n][max_n], visited[max_n][max_n]; int dx[] = { -1,0,1,0 }; int dy[] ..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1. tc문제는 초기화 visit처리만 담당 #include using namespace std; const int max_n = 51; int t, n, m, k, ny,nx,ret, a[max_n][max_n], visited[max_n][max_n]; int dx[] = {-1,0,1,0}; int dy[] = {0,-1,0,1}; /* * dfs * 1.방문처리 * 2.for(dy,dx) * 3.방문가..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 최단거리는 bfs! visit배열의 값 == 해당좌표까지 오는 최단거리! #include using namespace std; #define max_n 104 int n, m, x,y, visited[max_n][max_n], a[max_n][max_n]; int dx[] = {1,0,-1,0}; int dy[] = {0,1,0,-1}; int main() { scanf("%d %d", &n, &m); for (int i = 0..
https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net #include using namespace std; int n, k,temp;//숫자, 연속일 int psum[100001]; int ret = -10000004;//최악의경우 : -100*10만번(n) /* * (-) 이중포문 : 100,000 * 100,000 ->시간초과 * * 해결 : * 구간쿼리는 psum!!!!!!!!! * ex) * 배열 : 1 2 3 4 5 * psum..
https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net #include using namespace std; int n; int cnt[26]; int main() { cin >> n; for (int i = 0; i > s; cnt[s[0] - 97]++;//a는97 A는65 } bool z=false; for(int i=0;i=5) { cout
https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net * 행동영역 : 문제가 안풀리면 뒤집어서 그려보아라. ex) ABBA -> A B B A 위그림에서 BB가 닿으면 폭발시키면 어떨까?, 모두폭팔해서 원소가없다면 좋은단어이다. #include using namespace std; int answer; int main() { int n;//단어갯수 cin >> n; for (int i = 0; i 자..