Young

Moocast 본문

코딩 테스트 대비 추천 문제/USACO

Moocast

yyjjang9 2019. 4. 4. 16:55
728x90
반응형

https://www.acmicpc.net/problem/14172

 

14172번: Moocast

Write a single line of output containing the maximum number of cows a broadcast from a single cow can reach. The originating cow is included in this number.

www.acmicpc.net

 

소들이 메시지 전달할 수 있는지는 O(N^2)으로 모두 조사합니다.

문제에도 나와있지만, 한 가지만 주의하면 됩니다.

 

(A -> B로 갈 수 있다) != (B - > A로 갈 수 있다)

두 소의 워키토키의 power에 따라 메시지를 보낼 수 있는지를 조사해봐야 합니다.

 

모두 조사를 한 다음, 모든 소들을 시작점으로 하여 BFS를 돌려봅니다.

최대값이 나오면 ans 값을 갱신해 줍니다.

 

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <queue>
 
#define endl    '\n'
#define FastIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
 
using namespace std;
 
int n;
struct tt{
    int y, x, power;
};
vector<tt> v;
vector<int> vv[201];
 
int main() {
    FastIO;
    
    cin >> n;
    for (int i = 0; i < n; i++) {
        int a, b, c;
        cin >> a >> b >> c;
 
        for (int j = 0; j < v.size(); j++) {
            int xx = abs(v[j].y - a), yy = abs(v[j].x - b);
            double dist = sqrt(xx*xx + yy * yy);
            if (dist <= (double)c) vv[i].push_back(j);
            if (dist <= (double)v[j].power) vv[j].push_back(i);
        }
 
        v.push_back({ a,b,c });
    }
 
    int ans = 0;
    for (int s = 0; s < n; s++) {
        bool chk[201= {};
        int cnt = 1;
        queue<int> q;
        q.push(s);
        chk[s] = true;
        while (!q.empty()) {
            int f = q.front();
            q.pop();
            for (int i = 0; i < vv[f].size(); i++) {
                int next = vv[f][i];
                if (chk[next]) continue;
                chk[next] = true;
                q.push(next);
                cnt += 1;
            }
        }
        ans = max(ans, cnt);
    }
 
 
    cout << ans;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

728x90
반응형

'코딩 테스트 대비 추천 문제 > USACO' 카테고리의 다른 글

Cow Dance Show  (0) 2019.04.05
Why Did the Cow Cross the Road III (Silver)  (0) 2019.04.05
Why Did the Cow Cross the Road (Silver)  (0) 2019.04.04
Build Gates  (0) 2019.04.02
Angry Cows  (0) 2019.04.02