北邮oj 题

题目描述

Every year,prince prepares a birthday gift for princess.The gift is a box,which is decorated with jewel.
As princess grows older,the level of the jewelry box  gradually increase from A to Y.
Every level N jewelry box will be packed in level (N-1) jewelry box(except level 1 jewelry box).
For example,when princess was 1 year old,she got a level-A (level 1) jewelry box.When pricess was 2 years old,she got a level-B(level 2) jewelry box.The level-B(level 2)jewelry box was packed in level-A(level 1) jewelry box.
Because prince has obsessive-compulsive disorder, there will be a paper box between two jewelry box.
Please help prince to determine the birthday gift.

输入格式

The first line contains an integer T.(0<T<=20)
Then T test cases follow.
Each test case contains an interger N(1<=N<=25).It represents princess is N year(s) old.

输出格式

For each test case,output the profile of the gift.
The uppercase letter of the level represents the jewelry box.
The first letter ‘Z‘ in ‘ZHI‘ represents the paper box.

输入样例

2
1
2

输出样例

A
AAAAA
AZZZA
AZBZA
AZZZA
AAAAA
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 5
 6 int main(int argc, char *argv[]) {
 7 int t;
 8     scanf("%d",&t);
 9
10     if(t==1){
11         printf("A");
12     }else{
13         char box[4*t-3][4*t-3];
14         int j;
15         int k;
16         for(k=0;k<4*t-3;k++){
17             box[0][k]=‘A‘;
18         }
19
20         for(k=1;k<4*t-4;k++){
21             box[1][k]=‘Z‘;
22         }
23         box[1][0]=‘A‘;
24         box[1][4*t-4]=‘A‘;
25
26         int temp;
27         for(j=0;j<2*t-1;j++){//上半部分
28             if((j%2)==0&&j!=0){//偶数行
29                     box[j][j-1]=‘Z‘;
30                     box[j][(4*t-3)-j]=‘Z‘;
31
32                     for(k=j;k<(4*t-3)-j;k++){
33                         box[j][k]=box[j-2][k]+1;
34                     }
35
36                     for(k=0;k<j;k++){
37                         if(k!=((4*t-3)-j)&&k!=j-1){
38                             box[j][k]=box[j-2][k];
39                         }
40                     }
41                     for(k=(4*t-3)-j;k<4*t-3;k++){
42                         if(k!=((4*t-3)-j)&&k!=j){
43                             box[j][k]=box[j-2][k];
44                         }
45                     }
46
47             }
48
49             if((j%2)!=0&&j!=1){
50                 for(k=0;k<4*t-3;k++){
51                     if(k!=j-1&&k!=(4*t-3)-j){
52                         box[j][k]=box[j-2][k];
53                     }else{
54                         box[j][k]=‘A‘+(j-1)/2;
55                     }
56                 }
57             }
58         }
59         temp=2;
60         for(j=2*t-1;j<4*t-3;j++){
61             for(k=0;k<4*t-3;k++){
62
63             box[j][k]=box[j-temp][k];
64
65                 }
66             temp=2+temp;
67         }
68
69
70         for(k=0;k<4*t-3;k++){
71             for(temp=0;temp<4*t-3;temp++){
72                 printf("%c",box[k][temp]);
73                 printf("%s"," ");
74             }
75             printf("\n");
76         }
77
78     }
79     return 0;
80 }
时间: 2024-08-02 14:52:10

北邮oj 题的相关文章

广联达北邮笔试题

广联达北邮宣讲笔试题 编程题 1.链表相比于数组不是其优点的是:存储空间小. 2.一群不同年龄的人,找出最小的年龄的差值(绝对值),时间复杂度小于O(n^2) 我的思路是:用快排将年龄排序(从小到大),然后用次小年龄减去最小年龄就是最小年龄差. 3.删除单向链表的给定的结点,时间复杂度为O(1) 链表结点定义: struct linknode{ int key; linknode * next } 剑指offer有此题. 思路:用给定结点的下一节点的值覆盖给定结点的值,然后将下一节点删除. 假设

记北邮创新展

第一次去北邮參观创新展.没想到,竟是如此惊喜. 近150种创新实践成果,同学们活跃的气氛,瞬间让你感受到创客应有的狂热状态. attachment_id=6223" rel="attachment wp-att-6223" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size:undefined; font-style:inherit; font-variant:inhe

用PHP语言刷OJ题

平常在学校都是用C,C++,Java来刷OJ题,把AC的题用不同的语言再AC一次,基本相当于翻译而已.看到学校的OJ支持提交PHP代码,于是尝试了一下. 首先,得会使用PHP,但是你如果在看这篇博客,证明你这点已经做到了,接下来就是测试和提交了. 说到测试,我们在写好一段代码之后,肯定不会立马提交,必须的先测试一下程序是否正确,但是却不知道怎么测试. 因为不能向C.C++,Java一样,点击一下编译运行就立马能测试. 其实在学Java的时候,我们最先用的不是IDE,而是一个记事本,然后在DOS界

和北邮的学生相比,差哪儿了

前言:在<写给考研学生:凭什么让好大学要你>中,有位大一的同学留言如下.三言两语说不清,对这个话题也想说几句,成此文 [留言] 老师,你好,我今年大一,准备考研考北邮,最近我也确实在思考一个问题:我与考北邮的同学究竟差在哪?我一个一本最低水平学校的学生考北邮有什么优势?您的文章解决了我问题的一部分,面对这个问题您还能再更具体的回答我吗?另外很多人说我们电子信息科学与技术专业比较杂,要选好方向,可是我都不知道方向有些什么,该怎么选?这里的"方向"具体指什么? [答复] 教育在

北邮校赛 F. Gabriel&#39;s Pocket Money(树状数组)

F. Gabriel's Pocket Money 2017- BUPT Collegiate Programming Contest - sync 时间限制 2000 ms 内存限制 65536 KB 题目描述 For centuries, Heaven has required its young angels to live and study among humans in order to become full-fledged angels. This is no different

阿里巴巴安全部道哥、云舒3月10日在北邮讲座小记

PS:作为一个计算机行业安全研究人员,感觉到做学术不可与业界完全脱离,固特去北邮旁听,有些ideas很让人受启发! 附链接:http://bbs.byr.cn/#!article/Security/39553 ----------------------------------------------------------------------------------------- 阿里巴巴安全研究实验室负责人 云舒 进行密码破解的机器,通常自己的密码安全性都不高,用来攻击别人的方式,就是自

[python]南邮OJ代码备份爬虫

之前看过Python学习的经验,说以工程为导向学习. 自己分析了一下,一般接触Python的都有一定的其他语言基础,对于程序设计的基本逻辑,语法都有一个大概的了解.而Python这种脚本语言,没有过于独特的语法,在一定的其他语言的基础上,更是可以直接上手的. 之前看Python简明教程,半天没有进度.正好遇上Python爬虫项目,直接上手,方便快捷. 网站:http://acm.njupt.edu.cn/welcome.do?method=index,正值系统更新,于是写一个备份代码的爬虫. 使

[Python]网络爬虫:北邮图书馆排行榜

最近对爬虫比较感兴趣,就研究了一下. 推荐一个python爬虫博客http://blog.csdn.net/pleasecallmewhy/article/details/9305229点击打开链接.跟着博主的博客学了下来,自己动手编写了一个爬北邮图书馆排行榜的demo. #!/usr/bin/env python # -*- coding: utf-8 -*- #--------------------------------------- # 程序:bupt图书馆爬虫-排行榜 # 版本:0.

# 清北冬令营真题泛做

清北冬令营真题泛做 前言 这段时间为了准备冬令营把清北冬令营真题都做了一下.更个博回顾一下(免得你们老说我咕咕咕). 先写良心PKU的题再写THU的题, 主要是THU的题和PKU比起来真的毒瘤好多...... PKUWC2018 [PKUWC2018]Minimax 一个比较显然的暴力是归并排序,每次直接前后缀计算答案即可. 为啥不用线段树合并代替归并排序呢? 暴力线段树合并,合并的过程中顺便算一下即可,由于权值区间不交所以复杂度一个\(log\). [PKUWC2018]Slay the Sp