포문 세번돌면 되는데 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 |