티스토리 뷰

백준

[ BOJ 1895 ] 필터

dasu 2018. 7. 23. 01:19

http://icpc.me/1895



문제

주어진 표에서 3*3의 필터가 주어진다.
이 필터내의 값들 중 T보다 큰 중앙값들의 개수를 구하라.

풀이

R,C가 너무 작아서 걍 다 돌면서 벡터에 넣은 다음 정렬해서 5번째 값 비교하면 된다.


소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int R,C,T; scanf("%d %d",&R,&C);
    int v[45][45];
    for(int i=0;i<R;i++)
    {
        for(int j=0;j<C;j++scanf("%d",&v[i][j]);
    }
    scanf("%d",&T);
    int ans=0;
    for(int i=0;i<R-2;i++)
    {
        for(int j=0;j<C-2;j++)
        {
            vector<int> t;
            for(int l=0;l<=2;l++for(int k=0;k<=2;k++) t.push_back(v[i+l][k+j]);
            sort(t.begin(),t.end());
            ans+=(t[4]>=T);
        }
    }
    return !printf("%d",ans);
}
 
cs


'백준' 카테고리의 다른 글

[ BOJ 2143 ] 두배열의 합  (0) 2018.07.23
[ BOJ 10545 ] 뚜기뚜기메뚜기  (0) 2018.07.23
[ BOJ 10571 ] 다이아몬드  (0) 2018.07.23
[ BOJ 1280 ] 나무 심기  (0) 2018.07.23
[ BOJ 2508 ] 사탕 박사 고창영  (0) 2018.07.23
댓글
최근에 올라온 글
공지사항
Total
Today
Yesterday
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함