洛谷 T412212 菱形(Diamond)

题目背景

『菱形真漂亮』

『那我帮你打印一个吧』

小 L 和小 Z 开始打印图形了。

题目描述

小 Z 喜欢菱形和矩形,小 L 为了使小 Z 开心,于是打算找你帮『他』写一个程序。

一共需要一下两种操作:

1 x y,输出一个长 x 个单位,宽 y 个单位的矩阵。

2 x,输出一个由 x 行组成的菱形。

其中一个单位长度为 * 的长度。

具体可以看样例。

小 L 要打印 t,所以要输入多组数据。

输入格式

第一行一个正整数:t。

接下来 t 行:

输入一个数 op∈{1,2}。

若 op=1:输入剩下两个正整数 x,y。

若 op=2:输入剩下一个正整数 x。

保证对于 op=2 时:x 为奇数。

输出格式

输出共 t 个:

对于第cnt 个:

输出 Case cnt:

下一行输出要求输出的内容。

输入输出样例

输入 #1

复制代码
2
1 2 3
1 3 4

输出 #1

复制代码
Case 1:
**
**
**
Case 2:
***
***
***
***

输入 #2

复制代码
2
2 5
2 7

输出 #2

复制代码
Case 1:
  *
 ***
*****
 ***
  *
Case 2:
   *
  ***
 *****
*******
 *****
  ***
   *

说明/提示

本题采用捆绑测试。

请勿输出多余行末空格。

对于所有测试数据保证:1≤t≤2×104,1≤x,y≤20,op∈{1,2}。

AC代码

cpp 复制代码
#include<iostream>
using namespace std;
void lin(int cnt,int n)
{
  int j,i,k,a,b,c;
  cout<<"Case "<<cnt<<":"<<endl;
  for(i=1; i<=n; i++)
  {
    for(k=1; k<=n-i+1; k++)
    {
      cout<<" ";
    }
    for(j=1; j<=2*i-1; j++)
    {
      cout<<"*";
    }
    cout<<endl;
  }

  for(a=1; a<=n+1; a++)
  {
    for(b=1; b<=a-1; b++)
    {
      cout<<" ";
    }
    for(c=1; c<=(n-b+2)*2-1; c++)
    {
      cout<<"*";
    }
    cout<<endl;
  }
}
void ju(int cnt,int x,int y)
{
  cout<<"Case "<<cnt<<":"<<endl;
  for(int i=1; i<=y; i++)
  {
    for(int j=1; j<=x; j++)
    {
      cout<<"*";
    }
    cout<<endl;
  }
}
int main()
{
  int n,cnt=0;
  int o,x,y;
  cin>>n;

  while(n--)
  {
    cnt++;
    cin>>o;
    if(o==2)
    {
      cin>>x;
      x=(x-1)/2;
      lin(cnt,x);
    }
    else
    {
      cin>>x>>y;
      ju(cnt,x,y);
    }
  }
  return 0;
}
相关推荐
handler019 小时前
【算法】并查集(普通/扩展/带权)模板与例题
数据结构·c++·笔记·算法·c·图论·查并集
qq74223498410 小时前
从“感知”到“决断”:测评百度伐谋产业决策智能体的端到端推理与行动机制
人工智能·算法·百度·大模型·运筹优化
huohaiyu10 小时前
深入解析Java垃圾回收机制
java·开发语言·算法·gc
浮芷.11 小时前
鸿蒙PC端 TTS 并发调用问题详解:资源竞争与队列管理
算法·华为·开源·harmonyos·鸿蒙·鸿蒙系统
装不满的克莱因瓶11 小时前
掌握感知器的学习原理
人工智能·python·神经网络·算法·ai·卷积神经网络
Lsk_Smion11 小时前
力扣实训 _ [994].腐烂的橘子/图论
算法·leetcode·图论
轻微的风格艾丝凡11 小时前
两电平三相VSC整流模式从不控整流平滑切换至有源整流调试记录
算法·dsp·c2000
dongf201911 小时前
R语言KNN算法
算法·数据分析·r语言
小O的算法实验室11 小时前
2025年IEEE TASE,基于双层耦合平均场博弈的大规模智能体集成任务分配与轨迹规划
人工智能·算法·机器学习
8Qi811 小时前
LeetCode 337:打家劫舍 III(House Robber III)—— 题解 ✅
算法·leetcode·二叉树·动态规划