Résoudre ABC176 E en Python

introduction

Je vais faire E --Bomber que je n'ai pas pu résoudre hier dans ABC.

E - Bomber Garder la grille dans un tableau bidimensionnel est fastidieux et prend du temps, alors gérez le nombre de bombes sur chacun des axes $ H et W $. Si vous sélectionnez le nombre maximum de chaque bombe sur les axes $ H et W $ et renvoyez la somme des valeurs maximales, la réponse semble correcte, mais cela ne suffit pas. En effet, il n'est pas possible de traiter le cas où il y a une bombe à l'intersection. S'il y a des bombes aux intersections, la somme de leurs maximums est -1.

Maintenez les points d'intersection en mettant un tuple dans le dict. 0 est le point où il n'y a pas de bombe, 1 est le point où il y a une bombe.

from collections import defaultdict

h, w, m = map(int, input().split())

cnt_h = [0] * h
cnt_w = [0] * w
dic = defaultdict(int)

for _ in range(m):
    h_m, w_m = map(int, input().split())
    cnt_h[h_m - 1] += 1
    cnt_w[w_m - 1] += 1
    dic[(h_m - 1, w_m - 1)] += 1

max_h = max(cnt_h)
max_w = max(cnt_w)

mh = []
mw = []

for i in range(h):
    if max_h == cnt_h[i]:
        mh.append(i)

for i in range(w):
    if max_w == cnt_w[i]:
        mw.append(i)

flag = False
for i in mh:
    for j in mw:
        if dic[(i, j)] == 0:
            flag = True #S'il y a un point de 0, ce sera la valeur maximale, alors cassez-la.
            break
    if flag:
        break

if flag:
    print(max_h + max_w)
else:
    print(max_h + max_w - 1)

Recommended Posts

Résoudre ABC176 E en Python
Résolvez ABC169 avec Python
Résoudre ABC175 D en Python
Résoudre Atcoder ABC169 A-D avec Python
Résoudre ABC036 A ~ C avec Python
Résoudre ABC037 A ~ C avec Python
Résoudre Atcoder ABC176 (A, B, C, E) en Python
Résolvez ABC146-C avec Python
ABC 157 D - Résolvez les suggestions d'amis en Python!
Résoudre ABC098-C en Python
Résoudre ABC159-D en Python
Je voulais résoudre ABC159 avec Python
Résoudre ABC165 A, B, D avec Python
Résolvez ABC160-E avec Python
AtCoder ABC 177 Python (A ~ E)
Résolvez AtCoder ABC166 avec python
AtCoder ABC 178 Python (A ~ E)
Atcoder ABC164 A-C en Python
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D en Python
Résolvez des exercices Wooldridge en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
Résoudre les problèmes d'optimisation avec Python
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
Résoudre ABC163 A ~ C avec Python
Résoudre ABC166 A ~ D avec Python
ABC166 en Python A ~ C problème
Résoudre ABC168 A ~ C avec Python
Résoudre ABC162 A ~ C avec Python
Modèle AtCoder ABC 179 Python (A ~ E)
Résoudre ABC167 A ~ C avec Python
Résoudre ABC158 A ~ C avec Python
Résoudre des équations différentielles normales en Python
Débutant ABC154 (Python)
Quadtree en Python --2
Python en optimisation
Débutant ABC156 (Python)
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
AtCoder ABC 174 Python
Algorithme en Python (ABC 146 C Dichotomy
Époque en Python
Discord en Python
Je voulais résoudre ABC160 avec Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
Programmation avec Python
Débutant ABC155 (Python)