链接:https://www.nowcoder.com/acm/contest/67/G
来源:牛客网

题目描述

圈圈圆圆圈圈,lulu小朋友最近看喜羊羊看多了,老是受刺激就画圆圈,听到小于8的数字时,还会画出十分有规律的圆圈,现在你需要根据样例观察出规律,编写程序,根据输入的数字n(n<8),输出对应的圆圈。

输入描述:

第一行是样例数T(T<9)
第2到2+T-1行每行有一个整数n(n<8),代表lulu听到的数字

输出描述:

听到对应数字时,输出对应样子的圆圈。

一种比较无脑的方法就是递归处理,其中n=7图形就相当于是

空格   n=6

n=6   空格   n=6

空格   n=6

注意细节和换行

#include<stdio.h>
#include<string.h>
int san[8] = {0,1,3,9,27};
char ans[2500][2500];
void Print(int x, int a, int b, int type)
{int i, j;if(x==0){ans[a][b] = 'O';return;}for(i=a;i<a+san[x];i++){for(j=b;j<b+san[x];j++)ans[i][j] = ' ';}Print(x-1, a, b+san[x], 0 || type);Print(x-1, a+san[x], b, 1);for(i=a+san[x];i<a+san[x]*2;i++){for(j=b+san[x];j<b+san[x]*2;j++)ans[i][j] = ' ';}Print(x-1, a+san[x], b+san[x]*2, 0 || type);for(i=a+san[x]*2;i<a+san[x]*3;i++){for(j=b;j<b+san[x];j++)ans[i][j] = ' ';}Print(x-1, a+san[x]*2, b+san[x], 0 || type);if(type==1){for(i=a;i<a+san[x];i++){for(j=b+san[x]*2;j<b+san[x]*3;j++)ans[i][j] = ' ';}for(i=a+san[x]*2;i<a+san[x]*3;i++){for(j=b+san[x]*2;j<b+san[x]*3;j++)ans[i][j] = ' ';}}
}
int main(void)
{int T, n, i, j;for(i=2;i<=7;i++)san[i] = san[i-1]*3;scanf("%d", &T);while(T--){scanf("%d", &n);memset(ans, 0, sizeof(ans));if(n==0)printf("O\n");else{Print(n, 1, 1, 0);for(i=1;i<=san[n]*3;i++){for(j=1;j<=san[n]*3;j++){if(ans[i][j]==0)break;printf("%c", ans[i][j]);}puts("");}}}return 0;
}

2018年全国多校算法寒假训练营练习比赛(第一场)G. 圆圈相关推荐

  1. 【题集】牛客网·2018年全国多校算法寒假训练营练习比赛(第二场)

    原文链接:2018年全国多校算法寒假训练营练习比赛(第二场) A 吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Form ...

  2. 【题集·待解决】牛客网·2018年全国多校算法寒假训练营练习比赛(第二场)

    原文链接:2018年全国多校算法寒假训练营练习比赛(第二场) A 吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Form ...

  3. 2018年全国多校算法寒假训练营练习比赛(第四场)F:Call to your teacher

    传送门:https://www.nowcoder.net/acm/contest/76/F 题目描述 从实验室出来后,你忽然发现你居然把自己的电脑落在了实验室里,但是实验室的老师已经把大门锁上了.更糟 ...

  4. 2018年全国多校算法寒假训练营练习比赛(第五场)解题报告

    A-逆序数 https://www.nowcoder.com/acm/contest/77/A 题目描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆 ...

  5. 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) H.了断局-递推

    H.了断局 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 链接:https://www.nowcode ...

  6. 2018.1.28 牛客网2018年全国多校算法寒假训练营练习比赛题解

    Pre:DP专场,不得不说出题人脑洞真的大,题目质量真心不错.能将当今比较热门的游戏素材与算法竞赛有机结合,也是肥肠因缺斯汀的呀哈哈哈哈~ 打的最有意思也是最扎心的一场比赛,还是自己菜.DP是需要下慢 ...

  7. 2018年全国多校算法寒假训练营练习比赛(第四场)

    地址:点击打开链接 A 石油采集 思路: 二维矩阵四连通图是一个二分图,其实仔细想想就是将相邻的"#"建图,然后在找最大匹配.匈牙利算法即可.也可以dfs,代码如下: 匈牙利: # ...

  8. 牛客网 2018年全国多校算法寒假训练营练习比赛(第四场) 题解

    A-石油采集 题目描述 随着海上运输石油泄漏的问题,一个新的有利可图的行业正在诞生,那就是撇油行业.如今,在墨西哥湾漂浮的大量石油,吸引了许多商人的目光.这些商人们有一种特殊的飞机,可以一瓢略过整个海 ...

  9. 2018年全国多校算法寒假训练营练习比赛(第五场)题解

    [题目链接] A - 逆序数 经典问题,有很多方法,例如树状数组,线段树,归并排序.分治等.代码不贴了. B - Big Water Problem 单点修改求区间和,树状数组或者线段树都可以. #i ...

  10. 2018年全国多校算法寒假训练营练习比赛(第二场)B - TaoTao要吃鸡

    链接:https://www.nowcoder.com/acm/contest/74/B 来源:牛客网 题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了, 和绝地 ...

最新文章

  1. 图像滤波总结(面试经验总结)
  2. 2019年必须掌握的29个微服务面试问题(下)
  3. java查看文件夹下文件夹大小,java 获取文件夹大小,文件大小,文件个数
  4. mysql fabric c .net_MySQL Fabric [01] 简介
  5. react系列项目地址
  6. 详解go语言的array和slice 【二】
  7. 互联网岗位也存在鄙视链?我们来康康你喜欢的岗位竞争究竟有多残酷?
  8. 算法(17)-leetcode-剑指offer1
  9. linux磁盘fio压力测试,fio进行磁盘压力测试
  10. nginx 监听非标准端口80,重定向端口丢失问题解决
  11. C# 连接远程MySql出错,显示表不存在 [ C# | MySql | Table 'TABLENAME' doesn't exist ]
  12. MySQL 主从同步
  13. 计算机word的常用功能技巧,10个Word操作神技巧,看看你会多少?
  14. dependency 和dependencyManagement 的区别
  15. 神经网络算法入门书籍,bp神经网络算法的优点
  16. 三年磨一剑——微信OCR轻松提取图片文字
  17. 计算机自动关机启机唤醒设置,电脑设置自动关机和自动开机
  18. 荣耀手机与无线电脑连接服务器,华为手机怎么实现无线连接PC电脑传输文件和图片...
  19. PCB设计---无源晶振和有源晶振
  20. linux 温度控制软件,linux下的cpu温度监控软件 lm-sensors

热门文章

  1. python工资这么高为什么不学-为什么Python岗位薪资越来越高
  2. 自学python能学成吗-自学Python能学会吗 零基础怎么学
  3. python必备基础代码-【Python基础系列】常见的数据预处理方法(附代码)
  4. mac地址容量的作用_IP地址冲突网络故障排查案例
  5. python中可以使用变量来引用函数-python如何引用其他py文件里的函数
  6. HTML-图像,音频,视频和路径
  7. 前端用户忘记密码,手机验证码修改密码功能
  8. angular中使用z-tree初始化之后,展开根节点不生效
  9. 【黑马JS笔记】BOM对象DOM对象事件
  10. FFmpeg源代码简单分析:avcodec_close()