问题描述

小蓝要为蓝桥画一个图形。由于小蓝的画图能力有限,他准备用大写字母 QQ 画一个 LL 形状的字符画。

他希望 LL 的粗细正好是 ww 个字符宽,竖的笔划伸出 hh 高(因此图形总共 h+wh+w 高),横的笔划伸出 vv 宽(因此图形总共 v+wv+w 宽),要求每个笔划方方正正不能有多余内容。

例如,当 w=2w=2, h=3h=3, v=4v=4 时,图形如下所示:

QQ
QQ
QQ
QQQQQQ
QQQQQQ

给定 w,h,vw,h,v, 请帮助小蓝画出这个图形。

输入格式

输入的第一行包含三个正整数 w,h,vw,h,v, 相邻整数之间使用一个空格分隔。

输出格式

输出若干行,表示对应的图形。

样例输入

3 4 5

样例输出

QQQ
QQQ
QQQ
QQQ
QQQQQQQQ
QQQQQQQQ
QQQQQQQQ

评测用例规模与约定

对于 30%30% 的评测用例,w=1w=1, 1≤h,v≤201≤h,v≤20;

对于 60%60% 的评测用例,1≤w,h,v≤201≤w,h,v≤20;

对于所有评测用例,1≤w,h,v≤1001≤w,h,v≤100。

自己编写的代码

import os
import sys
data = sys.stdin.read().split()
w = int(data[0])
h = int(data[1])
v = int(data[2])
result = []
a = []
for _ in range(w):
    result.append("Q")
for _ in range(h):
  print(''.join(map(str,result)))
for _ in range(w+v):
    a.append("Q")
for _ in range(w):
  print(''.join(map(str,a)))

优化

import sys
data = sys.stdin.read().split()
w = int(data[0])
h = int(data[1])
v = int(data[2])
for _ in range(h):
    print('Q' * w)
for _ in range(w):
    print('Q' * (v + w))

学习

'Q' * w

  • 这是 Python 的字符串乘法。'Q' * 3 直接等于 'QQQ'

难度:简单

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐