北邮oj 题
Posted wpzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北邮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 }
以上是关于北邮oj 题的主要内容,如果未能解决你的问题,请参考以下文章