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).
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.
contribution
A B
** 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
** 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
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]
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]
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]
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]]
** 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.
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
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()))
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'>
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'>
・ [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
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