Young

Hoof, Paper, Scissors (Silver) 본문

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

Hoof, Paper, Scissors (Silver)

yyjjang9 2019. 4. 5. 15:51
728x90
반응형

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

 

14453번: Hoof, Paper, Scissors (Silver)

You have probably heard of the game "Rock, Paper, Scissors". The cows like to play a similar game they call "Hoof, Paper, Scissors". The rules of "Hoof, Paper, Scissors" are simple. Two cows play against each-other. They both count to three and then each s

www.acmicpc.net

이번 문제는 prefix sum 문제 입니다.

하나의 구간에 H / P / S 중 가장 많은 것의 수 또는

두 구간으로 나눴을 때 (왼쪽에서 H / P / S 중 가장 많은 것의 수) + (오른쪽에서 H / P / S 중 가장 많은 것의 수)

모든 구간에 대해서 시행해서 가장 큰 값과

 

위에서 하나의 구간에 대해서 시행한 것 중 큰 값을 출력하면 됩니다.

H / P / S 중 하나를 입력받고, prefix sum을 계속적으로 시도해주면 됩니다.

 

 

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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <string>
#include <string.h>
 
#define endl    '\n'
#define FastIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
 
using namespace std;
 
int n;
struct tt {
    int h, p, s;
};
vector<tt> seq;
 
int main() {
    FastIO;
 
    cin >> n;
 
    seq.resize(n + 1, { 0,0,0 });
    for (int i = 1; i <= n; i++) {
        char c;
        cin >> c;
        if (c == 'P') seq[i].p += 1;
        else if (c == 'H') seq[i].h += 1;
        else seq[i].s += 1;
        seq[i].h += seq[i - 1].h;
        seq[i].p += seq[i - 1].p;
        seq[i].s += seq[i - 1].s;
    }
    
    int ans = max(seq[n].h, max(seq[n].p, seq[n].s));    // 구간을 하나도 안나눴을 때
 
    for (int i = 2; i <= n; i++) {                        // 구간을 나누기 
        int left = max(seq[i - 1].h, max(seq[i - 1].p, seq[i - 1].s));
        int right = max((seq[n].h - seq[i - 1].h), max((seq[n].p - seq[i - 1].p), (seq[n].s - seq[i - 1].s)));
        ans = max(ans, (left + right));
    }
 
 
    cout << ans;
 
 
 
    return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 
728x90
반응형

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

Secret Cow Code  (0) 2019.04.05
Cow Dance Show  (0) 2019.04.05
Why Did the Cow Cross the Road III (Silver)  (0) 2019.04.05
Moocast  (0) 2019.04.04
Why Did the Cow Cross the Road (Silver)  (0) 2019.04.04