Résoudre avec Python [100 questions passées sélectionnées que les débutants et les intermédiaires devraient résoudre] (001 --004 Toutes les recherches: Toutes les énumérations)

1. Objet

Résolvez 100 questions passées que les débutants et les intermédiaires devraient résoudre en Python. L'objectif est de devenir bleu clair lorsque vous avez terminé de tout résoudre.

Cet article s'intitule «001 --004 All Search: All Enumeration».

2. Résumé

En Python, vous pouvez énumérer des combinaisons avec itertools, mais je l'ai écrit dans une instruction for pour la pratique. Je n'ai pas trébuché en particulier.

3. Histoire principale

001 --004 Toutes les recherches: toutes les énumérations

  1. ITP1_7_B - How Many Ways? image.png

Répondre

answer_list = []
while True:
    n, x = map(int, input().split())
    if n == 0 and x == 0:
        break

    count = 0
    for first in range(1, n + 1):
        for second in range(first + 1, n + 1):
            for third in range(second + 1, n + 1):
                if first + second + third == x:
                    count += 1

    answer_list.append(count)

for answer in answer_list:
    print(answer)

Étant donné que l'énoncé du problème indique qu'il n'y a pas de duplication, veillez à ne pas dupliquer la plage de first, `` second et `third``` de l'instruction for. Plus précisément, définissez le début de deuxième '' sur premier + 1 '' et le début de troisième '' sur `` deuxième + 1 ''.


  1. AtCoder Beginner Contest 106 B - 105 image.png

Répondre

def is_target(num):
    count = 0
    for i in range(1, num+1):
        if num % i == 0:
            count += 1
    if count == 8:
        return True
    else:
        return False

if __name__ == "__main__":
    N = int(input())
    count = 0
    for num in range(1, N+1, 2):
        count += is_target(num)

    print(count)

Créez une fonction appelée is_target qui retourne si la fraction est égale ou non à 8 avec `` True``` et `False. Après cela, vérifiez is_target``` pour les nombres impairs de 1 à N et ajoutez-les ensemble (Vrai est 1 afin que vous puissiez les ajouter tels quels).


  1. AtCoder Beginner Contest 122 B - ATCoder image.png

Répondre

target = 'ACGT'
S = input()

answer = 0
for start in range(len(S)):
    if S[start] not in target:
        continue
    count = 0
    for end in range(start, len(S)):
        if S[end] not in target:
            break
        count += 1
    
    answer = max(answer, count)

print(answer)

La sous-chaîne à extraire de la chaîne de caractères S peut être écrite comme `S [start: end]` en utilisant les indices `start``` et` `ʻend```, donc` start Pour chacun des éléments «» «» et «ʻend, vérifiez s'il s'agit de` `ʻACGT.

Lors de la vérification, l'instruction for de `start``` est` continuesi ce n'est pasACGT, et l'instruction for de endestACGT Notez que si ce n'est pas '', c'est break```.


004. Pakencamp 2019 C-Karaoké

image.png

Répondre

N, M = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(N)]

answer = 0
for song1 in range(M):
    for song2 in range(song1+1, M):
        score = 0
        for i in range(N):
            score += max(A[i][song1], A[i][song2])

        answer = max(answer, score)

print(answer)

song1Quandsong2Tournez l'instruction for environ. Et à l'intérieur, pour chaque élève (indice i), le score le plus grand de `` chanson1``` et `chanson2``` est adopté.

Recommended Posts

Résoudre avec Python [100 questions passées sélectionnées que les débutants et les intermédiaires devraient résoudre] (001 --004 Toutes les recherches: Toutes les énumérations)
Résoudre avec Python [100 questions passées que les débutants et les intermédiaires devraient résoudre] (024 --027 Recherche de priorité en profondeur)
Résoudre avec Python [100 anciennes questions sélectionnées que les débutants et les intermédiaires devraient résoudre] (015 --017 Recherche complète: Recherche complète en avant)
Résoudre avec Python [100 questions passées sélectionnées que les débutants et les intermédiaires devraient résoudre] (010 --014 Recherche complète: Recherche complète de bits)
Résoudre avec Python [100 questions passées que les débutants et les intermédiaires devraient résoudre] (028 --033 recherche de priorité de largeur)
Résoudre avec Python [100 questions passées sélectionnées que les débutants et les intermédiaires devraient résoudre] (005 --- 009 Toutes les recherches: Toutes les énumérations pour réduire le nombre de rues en concevant)
Résolution avec Python [100 questions passées que les débutants et les intermédiaires devraient résoudre] (053 --055 Méthode de planification dynamique: Autres)
Résoudre avec Python [100 questions passées que les débutants et les intermédiaires devraient résoudre] (056 --059 Problème de l'itinéraire le plus court: méthode Dyxtra)
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 5/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 7/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 4/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Part3 / 22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 1/22]
[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 6/22]
Résoudre avec Python [100 questions que les débutants et les intermédiaires devraient résoudre] (034-038 Méthode de planification dynamique: Knapsack DP basic)
Résolvez avec Python [100 questions passées que les débutants et les intermédiaires devraient résoudre] (039 --045 Méthode de planification dynamique: variante Knapsack DP)
Raisonnement causal et recherche causale par Python (pour les débutants)
1er test pratique d'algorithme Résoudre les questions passées avec python
2e test pratique de l'algorithme Résoudre les questions précédentes avec python (inachevé)
Créons une application capable de rechercher des images similaires avec Python et Flask Part2
[Pour les professionnels de la compétition débutants] J'ai essayé de résoudre 40 questions AOJ "ITP I" avec python
Résolvez des équations différentielles normales simultanées avec Python et SymPy.
Exploration avec Python et Twitter API 1 - Fonction de recherche simple