문제 링크: https://www.acmicpc.net/problem/15763
15763번: Team Tic Tac Toe
In this example, no single cow can claim victory. However, if cows C and X team up, they can win via the C-X-C diagonal. Also, if cows X and O team up, they can win via the middle row.
www.acmicpc.net
CCC
CAA
CAA
위의 예시에서와 같이, CCC가 첫번째 row와 첫번째 column에 총 두번 등장하지만, 한번만 세야함.
set을 이용해서 중복을 쉽게 처리해줄수 있음.
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
|
#include <bits/stdc++.h>
using namespace std;
int r[3][200], c[3][200], d[3][200];
set<int> one;
set<pair<int, int>> two;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++) {
char ch;
cin >> ch;
r[i][ch]++;
c[j][ch]++;
if(i == j) d[0][ch]++;
if(i + j == 2) d[1][ch]++;
}
for(int i = 'A'; i <= 'Z'; i++) for(int j = 0; j < 3; j++)
for(int i = 'A'; i <= 'Z'; i++) for(int j = 'A'; j <= 'Z'; j++) {
for(int k = 0; k < 3; k++) {
if(r[k][i] == 1 && r[k][j] == 2 || c[k][i] == 1 && c[k][j] == 2 || d[k][i] == 1 && d[k][j] == 2)
two.insert({i, j}), two.insert({j, i});
}
}
cout << one.size() << '\n' << two.size() / 2 << '\n';
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'USACO > Bronze' 카테고리의 다른 글
백준 16770 The Bucket List (USACO December 2018 Bronze 2번) (0) | 2020.03.13 |
---|---|
백준 16769 Mixing Milk (USACO December 2018 Bronze 1번) (0) | 2020.03.13 |
백준 15751 Teleportation (USACO February 2018 Bronze 1번) (0) | 2020.03.07 |
백준 15594 Out of Place (USACO January 2018 Bronze 3번) (0) | 2020.03.06 |
백준 15593 Lifeguards (USACO January 2018 Bronze 2번) (0) | 2020.03.06 |