본문 바로가기

BOJ

백준 2422 / 한윤정이 이탈리아에 가서 아이스크림을 사먹는데



포문 세번돌면 되는데 n의 최대값이 200이기때문에 충분(?)하다.


모든 아이스크림 조합을 true로 해준 초기화 해준다음 (역으로도 true)


맛없는 조합끼리 false해준다 (역으로도 false)



포문을 돌면서 true의 조합일때만 정답을 ++해주면 된다.


낚이는 경우 :  아이스크림 번호는 1부터 시작한다. 0이 아니다.




코드


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
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<stdio.h>
#include<iostream>
#include<vector>
#include<queue>
 
using namespace std;
 
bool check[201][201];
 
int ans = 0;
int n, m;
 
int main() {
    
    //freopen("Text.txt", "r", stdin);
 
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        for (int j = i + 1; j <= n; j++) {
            check[i][j] = true;
            check[j][i] = true;
        }
    }
 
    for (int i = 0; i < m; i++) {
        int a, b;
        scanf("%d %d"&a, &b);
        check[a][b] = false;
        check[b][a] = false;
    }
 
    for (int i = 1; i <= n; i++) {
        for (int j = i + 1; j <= n; j++) {
            if (check[i][j] == true) {
                for (int k = j + 1; k <= n; k++) {
                    if (check[i][k] == true && check[j][k] == true) {
                        ans++;
                    }
                }
            }
        }
    }
    cout << ans << endl;
}
cs


'BOJ' 카테고리의 다른 글

백준 15685 / 드래곤 커브  (0) 2019.02.21
백준 2933 / 미네랄  (1) 2019.02.21
백준 13458 / 시험 감독  (0) 2019.02.20
백준 14890 / 경사로  (0) 2019.02.19
백준 14503 / 로봇 청소기  (0) 2019.02.19