2018年全国多校算法寒假训练营练习比赛(第一场)G. 圆圈
链接: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. 圆圈相关推荐
- 【题集】牛客网·2018年全国多校算法寒假训练营练习比赛(第二场)
原文链接:2018年全国多校算法寒假训练营练习比赛(第二场) A 吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Form ...
- 【题集·待解决】牛客网·2018年全国多校算法寒假训练营练习比赛(第二场)
原文链接:2018年全国多校算法寒假训练营练习比赛(第二场) A 吐泡泡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Form ...
- 2018年全国多校算法寒假训练营练习比赛(第四场)F:Call to your teacher
传送门:https://www.nowcoder.net/acm/contest/76/F 题目描述 从实验室出来后,你忽然发现你居然把自己的电脑落在了实验室里,但是实验室的老师已经把大门锁上了.更糟 ...
- 2018年全国多校算法寒假训练营练习比赛(第五场)解题报告
A-逆序数 https://www.nowcoder.com/acm/contest/77/A 题目描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆 ...
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) H.了断局-递推
H.了断局 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 链接:https://www.nowcode ...
- 2018.1.28 牛客网2018年全国多校算法寒假训练营练习比赛题解
Pre:DP专场,不得不说出题人脑洞真的大,题目质量真心不错.能将当今比较热门的游戏素材与算法竞赛有机结合,也是肥肠因缺斯汀的呀哈哈哈哈~ 打的最有意思也是最扎心的一场比赛,还是自己菜.DP是需要下慢 ...
- 2018年全国多校算法寒假训练营练习比赛(第四场)
地址:点击打开链接 A 石油采集 思路: 二维矩阵四连通图是一个二分图,其实仔细想想就是将相邻的"#"建图,然后在找最大匹配.匈牙利算法即可.也可以dfs,代码如下: 匈牙利: # ...
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第四场) 题解
A-石油采集 题目描述 随着海上运输石油泄漏的问题,一个新的有利可图的行业正在诞生,那就是撇油行业.如今,在墨西哥湾漂浮的大量石油,吸引了许多商人的目光.这些商人们有一种特殊的飞机,可以一瓢略过整个海 ...
- 2018年全国多校算法寒假训练营练习比赛(第五场)题解
[题目链接] A - 逆序数 经典问题,有很多方法,例如树状数组,线段树,归并排序.分治等.代码不贴了. B - Big Water Problem 单点修改求区间和,树状数组或者线段树都可以. #i ...
- 2018年全国多校算法寒假训练营练习比赛(第二场)B - TaoTao要吃鸡
链接:https://www.nowcoder.com/acm/contest/74/B 来源:牛客网 题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了, 和绝地 ...
最新文章
- 图像滤波总结(面试经验总结)
- 2019年必须掌握的29个微服务面试问题(下)
- java查看文件夹下文件夹大小,java 获取文件夹大小,文件大小,文件个数
- mysql fabric c .net_MySQL Fabric [01] 简介
- react系列项目地址
- 详解go语言的array和slice 【二】
- 互联网岗位也存在鄙视链?我们来康康你喜欢的岗位竞争究竟有多残酷?
- 算法(17)-leetcode-剑指offer1
- linux磁盘fio压力测试,fio进行磁盘压力测试
- nginx 监听非标准端口80,重定向端口丢失问题解决
- C# 连接远程MySql出错,显示表不存在 [ C# | MySql | Table 'TABLENAME' doesn't exist ]
- MySQL 主从同步
- 计算机word的常用功能技巧,10个Word操作神技巧,看看你会多少?
- dependency 和dependencyManagement 的区别
- 神经网络算法入门书籍,bp神经网络算法的优点
- 三年磨一剑——微信OCR轻松提取图片文字
- 计算机自动关机启机唤醒设置,电脑设置自动关机和自动开机
- 荣耀手机与无线电脑连接服务器,华为手机怎么实现无线连接PC电脑传输文件和图片...
- PCB设计---无源晶振和有源晶振
- linux 温度控制软件,linux下的cpu温度监控软件 lm-sensors
热门文章
- python工资这么高为什么不学-为什么Python岗位薪资越来越高
- 自学python能学成吗-自学Python能学会吗 零基础怎么学
- python必备基础代码-【Python基础系列】常见的数据预处理方法(附代码)
- mac地址容量的作用_IP地址冲突网络故障排查案例
- python中可以使用变量来引用函数-python如何引用其他py文件里的函数
- HTML-图像,音频,视频和路径
- 前端用户忘记密码,手机验证码修改密码功能
- angular中使用z-tree初始化之后,展开根节点不生效
- 【黑马JS笔记】BOM对象DOM对象事件
- FFmpeg源代码简单分析:avcodec_close()