Ensemble d'entrées standard Atcoder pour les débutants (python)

introduction

Je ne sais plus combien d'infusions, mais c'est un résumé de l'ensemble d'entrée standard pour Atcoder.

Je suis bâclé avec Atcoder, mais je n'ai pas pu me souvenir de l'entrée standard pour toujours parce que je ne me suis pas du tout consacré. Je voudrais donc organiser une fois les entrées standard et organiser systématiquement les entrées standard les plus rapides.

Cet article résume les entrées standard minimales pour résoudre le problème de base ABC-ABC dans les bases. L'entrée standard utilisant sys et numpy sera traitée dans un autre article.

La partie signalée a été corrigée (06/05/2020).

1 ligne 1 colonne de données

contribution

N (chaîne ou nombre)

code

sample.py


#Lors de la réception en type str
s = input() 
#Lors de la réception de type int
s = int(input()) 
#type de flotteur(Fraction)Lors de la réception à
s = float(input())

En guise de mise en garde, notez que input () est entièrement de type str, même s'il s'agit d'un nombre au lieu d'une chaîne de caractères.

(1, N) Données matricielles

contribution

A B

Si l'entrée est une chaîne

** Exemple d'entrée **

Alice Bob Charlie

** Exemple de code 1 **

sample.py


#Lors de la réception en tant que type de liste
s = input().split()

#production
print(s)
>>['Alice', 'Bob', 'Charlie']
print(s[0])
>>Alice
print(s[0][0])
>>A

** Exemple de code 2 **

sample.py


#Lors de la réception sous forme de chaîne
A, B, C = input().split()

#production
print(A)    
>>Alice
print(A,B,C)
>>Alice Bob Charlie

Lorsque la variable d'entrée est un entier

** Exemple d'entrée **

1 3

** Exemple de code 1 **

sample.py


A, B = map(int, input().split())

#production
print(A)
>>1
print(A,B)
>>1 3

Lorsque le nombre de variables d'entrée est N

contribution

A1 A2 A3...AN

** Exemple d'entrée **

1 3 4 5 6

** Exemple de code 1 **

sample.py


#Obtenir comme type de liste
l = list(map(int, input().split()))

#production
print(l)
>>[1, 3, 4, 5, 6]

(N, 1) Données matricielles

contribution

N M A1 A2 : AN

** Exemple d'entrée **

3 4 2 3 3 1

** Exemple de code 1 (type int) ** Convertir la matrice (N, 1) en matrice (1, N) en générant une liste vide et en la stockant dans la liste dans l'ordre du haut

sample.py


N, M = map(int, input().split())
#Liste vide
A = []
#Ajouter une liste()Stocker en utilisant
for _ in range(M):
    A.append(int(input())

#production
print(A)
>>[2, 3, 3, 1]

** Exemple de code 2 (notation d'inclusion de liste) **

sample.py


N, M = map(int, input().split())
#Notation d'inclusion de liste
A = [int(input()) for _ in range(M)]

#production
print(A)
>>[2, 3, 3, 1]

(N, M) Données matricielles

Données à 2 variables

Lorsque les variables sont alignées sur une ligne

contribution

N x1 x2 x3 .. xN y1 y2 y3 .. yN

** Exemple d'entrée **

3 1 2 3 4 5 6

** Exemple de code **

sample.py


N = int(input())
x = list(map(int, input().split()))
y = list(map(int, input().split()))

#production
print(x)
>>[1, 2, 3]

Lorsque les variables sont alignées dans une colonne

contribution

N x1 y1 x2 y2 : xN yN

** Exemple d'entrée **

5 1 2 3 4 5 6 7 8 9 10

** Exemple de code 1 (stocker x et y indépendamment) **

sample.py


N = int(input())
xy = [map(int, input().split()) for _ in range(N)]
x, y = [list(i) for i in zip(*xy)]

#production
print(x)
>>[1, 3, 5, 7, 9]
print(x[1]+y[1])
>>7

** Exemple de code 2 (stocké sous [x i </ sub>, y i </ sub>]) **

sample.py


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

#production
print(l)
>>[[1, 2], [3, 4], [5, 6]]

** En cas de type int mixte et de type str **

** Exemple d'entrée **

5 1 a 3 b 5 c 7 d 9 e

sample.py


N = int(input())
list = []
for i in range(N):
    a,b=input().split()
    list.append([int(a), b])
    
#production
print(list)
>>[[1, 'a'], [3, 'b'], [5, 'c'], [7, 'd'], [9, 'e']]
print(type(list[0][0]))
>><class'int'>
print(type(list[0][1]))
>><class'str'>

C'était très facile à comprendre, alors je l'ai cité dans cet article. Entrée standard de python3 chez les pros de la compétition, etc.

3 données variables

contribution

N t1 x1 y1 t2 x2 y2 : tN xN yN

** Exemple d'entrée **

2 3 1 2 6 1 1

sample.py


#Commencez par créer une liste avec la longueur de la variable d'entrée. * N=En cas de 5,t = [0,0,0,0,0]
N = int(input())
t = [0] * N
x = [0] * N
y = [0] * N
for i in range(N):
    #Remplacer dans l'ordre du haut
    t[i], x[i], y[i] = map(int, input().split())

#production
print(t)
>>[3, 6]

J'ai cité cet article Conseils à connaître lors de la programmation de compétitions avec Python3

3 Données variables (lorsque le nombre de données diffère pour chaque variable)

contribution

X Y A B C P1 P2 P3...PA Q1 Q2 Q3...QB R1 R2 R3...RC

Problème: E - Pommes rouges et vertes

** Exemple d'entrée **

1 2 2 2 1 2 4 5 1 3

sample.py


X, Y, A, B, C = map(int, input().split())
P = [int(i) for i in input().split()]
Q = [int(i) for i in input().split()]
R = [int(i) for i in input().split()]

#production
print(P)
>>[2, 4]

#Il n'y a aucun problème avec ce formulaire
P = list(map(int, input().split()))
Q = list(map(int, input().split()))
R = list(map(int, input().split()))

Données matricielles générales

contribution

N M A1,1 A1,2...A1 ,N : AM,1 AM,2...AM,N

** Exemple d'entrée (3,3) Données matricielles **

3 3 2 1 3 1 3 3 2 2 1

** Exemple de code 1 (type int) **

sample.py


N, M = map(int,input().split()) 
#Notation d'inclusion de liste
#Lisez la liste dans l'ordre du haut et enregistrez-la dans la liste.
a = [list(map(int, input().split())) for l in range(M)]

#production
print(a)
>>[[2, 1, 3], [1, 3, 3], [2, 2, 1]]

print(a[0])
>>[2, 1, 3]
print(a[0][0])
>>2
print(type(a[0][0]))
>><class'int'>

Supplément -numpy-

Une petite introduction à ** numpy **. Vous pouvez utiliser ** numpy ** pour convertir une liste en un ** tableau numpy ndarray **. En effectuant cette conversion, non seulement les opérations matricielles peuvent être effectuées, mais également la vitesse d'exécution peut être augmentée et le code peut être simplifié.

sample.py


import numpy as np
#Liste appropriée
list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

#Convertir en ndarray
list_ndarray = np.array(list)
print(list_ndarray)
>>[[1 2 3]
   [4 5 6]
   [7 8 9]]

#Taille du tableau(Nombre d'éléments)
print(list_ndarray.size)
>>9
#Forme de tableau
print(list_ndarray.shape)
>>(3, 3)
#Moule
print(type(list_ndarray))
>><class'numpy.ndarray'>

#tableau numpy → liste
list_list = list_ndarray.tolist()
print(list_list)
>>[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(type(list_list))
>><class'list'>

Articles que j'ai utilisés comme référence

・ [Entrée standard en python3] (https://qiita.com/pyu666/items/6b8cfefc1ea994639683) ・ Conseils à connaître lors de la programmation en Python3 (entrée)Entrée standard de python3 chez les pros de la compétition, etc.Programmation Python de compétition

À propos de l'entrée standard et de la sortie standard

Voir l'article ci-dessous pour plus de détails. ・ [Que sont l'entrée standard et la sortie standard? ] (https://qiita.com/angel_p_57/items/03582181e9f7a69f8168)

Apportez les corrections appropriées.

Continuez vers un autre article.

Recommended Posts

Ensemble d'entrées standard Atcoder pour les débutants (python)
[Pour AtCoder] Mémo d'entrée standard
[Python] Entrée standard
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Manuel python pour les débutants
[Python] À propos de l'entrée standard
OpenCV pour les débutants en Python
Flux d'apprentissage pour les débutants en Python
[Python3] Entrée standard [Cheet sheet]
Recevoir des conseils d'entrée standard @ python
Note d'entrée Python dans AtCoder
Python #function 2 pour les super débutants
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
Python #function 1 pour les super débutants
Résoudre les problèmes d'AtCoder Boot camp pour les débutants (moyen 100) avec python
Représentation matricielle avec entrée standard Python
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Python pour les super débutants Super débutants Python # dictionnaire type 1
[Python] ARC006A (définir la théorie la plus forte) [At Coder]
Python #index pour les super débutants, tranches
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Fonction Python #len pour les super débutants
Notes pour l'entrée / sortie de fichier Python
Web scraping pour les débutants en Python (1)
# 2 Les débutants en Python défient AtCoder! ABC085C --Otoshidama
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
atCoder 173 Python
Python Paiza-Divers contrôles de compétences et entrées standard
INSÉRER dans MySQL avec Python [Pour les débutants]
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
Réponse à la sélection des débutants d'AtCoder par Python3
Entrée standard Python3 que j'ai essayé de résumer
Fiche de triche AtCoder en python (pour moi-même)
[Python] Lire des images avec OpenCV (pour les débutants)
Création WebApi avec Python (création CRUD) Pour les débutants
[Python] Ajouter un commentaire au fichier d'entrée standard
[Pour les débutants] Essayez le web scraping avec Python
Un manuel pour les débutants réalisé par des débutants Python
30/10/2016 else pour Python3> pour:
Mémo n ° 4 que les débutants Python lisent "Explication détaillée de la grammaire Python"
python [pour moi]
Opération d'ensemble Python
Le moyen le plus rapide pour les débutants de maîtriser Python
Python pour les super débutants Super débutants Python # Facile à éliminer
Raisonnement causal et recherche causale par Python (pour les débutants)
AtCoder ABC 174 Python
Opération d'ensemble Python
Mémo n ° 1 que les débutants Python lisent "Explication détaillée de la grammaire Python"
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ① ~
Compréhension facile de Python pour les tableaux et (pour les super débutants)
Résumé des entrées standard
Script Python pour obtenir une liste d'exemples d'entrée pour le concours AtCoder
Mémo n ° 7 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Les débutants pratiquent Python
Introduction à la programmation (Python) TA Tendency pour les débutants