Rotation des groupes Java-C de la 10e Coupe Blue Bridge

1. Description du problème:

La rotation de l'image est l'un des moyens les plus simples de traiter les images. Dans cette question, vous devez faire pivoter l'image de 90 degrés dans le sens des aiguilles d'une montre. Nous utilisons un tableau bidimensionnel de n × m pour représenter une image. Par exemple, un exemple d'image 3 × 4 est donné ci-dessous:

1 3 5 7

9 8 7 6

3 5 9 7

L'image après avoir fait pivoter cette image de 90 degrés dans le sens des aiguilles d'une montre est la suivante:

3 9 1

5 8 3

9 7 5

7 6 7

Compte tenu de l'image initiale, veuillez calculer l'image pivotée

[Format d'entrée]
La première ligne d'entrée contient deux entiers n et m, qui représentent respectivement le nombre de lignes et de colonnes. Les n lignes suivantes, m entiers dans chaque ligne, représentent une image donnée. Chaque élément (pixel) de l'image est un entier avec une valeur comprise entre 0 et 255 (y compris 0 et 255).
[Format de sortie]
Affiche m lignes et n colonnes, représentant l'image pivotée.

2. Analyse de la pensée:

En analysant la question, nous pouvons savoir que nous devons d'abord stocker les données d'entrée de la console. Vous pouvez utiliser r, c = map (int, input (). Split ()) pour obtenir le nombre de lignes et de colonnes de la console matrice d'entrée, puis la traiter en boucle Pour chaque ligne de données d'entrée, vous pouvez utiliser la fonction map pour convertir le nombre d'entrée en type int: list (map (int, input (). split ())) obtient une ligne de données de type int, ajoutez chaque ligne de données à La finale obtenue dans une liste est une liste bidimensionnelle, et enfin la valeur dans la matrice est sortie en fonction de la relation de position entre la matrice tournée et la matrice d'origine.

3. Le code est le suivant:

if __name__ == "__main__":
    r, c = map(int, input().split())
    matrix = list()
    for i in range(r):
        # 保存输入数据, map函数将输入的数据转为int类型
        matrix.append(list(map(int, input().split())))
    for i in range(c):
        # 按照逆序的方式输出
        for j in range(r - 1, -1, -1):
            print(matrix[j][i], end=" ")
        print()

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_39445165/article/details/115014727
conseillé
Classement