- 题目描述:
-
把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
- 输入:
-
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0
- 输出:
-
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
- 样例输入:
-
11 B A
5 @ W
- 样例输出:
-
AAAAAAAAA
ABBBBBBBBBA
ABAAAAAAABA
ABABBBBBABA
ABABAAABABA
ABABABABABA
ABABAAABABA
ABABBBBBABA
ABAAAAAAABA
ABBBBBBBBBAAAAAAAAAA@@@
@WWW@
@W@W@
@WWW@@@@
#include "stdio.h"char buf[80][80];void Func(int x,int m,char ch){int i,j;for(i&#61;x;i<&#61;x&#43;m-1;i&#43;&#43;)for(j&#61;x;j<&#61;x&#43;m-1;j&#43;&#43;)buf[i][j]&#61;ch;
}int main(int argc, char* argv[])
{int i,j,n;char ch1,ch2,temp1,temp2;;while(scanf("%d %c %c",&n,&ch1,&ch2)!&#61;EOF){if((n-1)%4&#61;&#61;0){temp1&#61;ch1;temp2&#61;ch2;}else{temp1&#61;ch2;temp2&#61;ch1;}for(i&#61;0;i<&#61;n/2-1;i&#43;&#43;){if(i%2&#61;&#61;0)Func(i,n-2*i,temp1);elseFunc(i,n-2*i,temp2);}buf[n/2][n/2]&#61;ch1;buf[0][0]&#61;buf[0][n-1]&#61;buf[n-1][0]&#61;buf[n-1][n-1]&#61;&#39; &#39;;for(i&#61;0;i<&#61;n-1;i&#43;&#43;){for(j&#61;0;j<&#61;n-1;j&#43;&#43;)printf("%c",buf[i][j]);printf("\n");}}return 0;
}- 题目描述&#xff1a;
-
在一个整数数组上&#xff0c;对于下标为i的整数&#xff0c;如果它大于所有它相邻的整数&#xff0c;
或者小于所有它相邻的整数&#xff0c;则称为该整数为一个极值点&#xff0c;极值点的下标就是i。
- 输入&#xff1a;
-
每个案例的输入如下&#xff1a;
有2×n&#43;1行输入&#xff1a;第一行是要处理的数组的个数n&#xff1b;
对其余2×n行&#xff0c;第一行是此数组的元素个数k(4
- 输出&#xff1a;
-
每个案例输出为n行&#xff1a;每行对应于相应数组的所有极值点下标值&#xff0c;下标值之间用空格分隔。
- 样例输入&#xff1a;
-
3
10
10 12 12 11 11 12 23 24 12 12
15
12 12 122 112 222 211 222 221 76 36 31 234 256 76 76
15
12 14 122 112 222 222 222 221 76 36 31 234 256 76 73
- 样例输出&#xff1a;
-
0 7
2 3 4 5 6 10 12
0 2 3 10 12 14
- 来源&#xff1a;
- 2008年北京大学方正实验室计算机研究生机试真题
-
#include "stdio.h"int main(int argc, char* argv[])
{int n,i,j,k;int buf[1000][81];int length[1000];while(scanf("%d",&n)!&#61;EOF){for(i&#61;0;i<&#61;n-1;i&#43;&#43;){scanf("%d",&k);length[i]&#61;k;for(j&#61;0;j<&#61;k-1;j&#43;&#43;)scanf("%d",&buf[i][j]);}for(i&#61;0;i<&#61;n-1;i&#43;&#43;){int flag&#61;0;if(buf[i][0]!&#61;buf[i][1]){printf("0");flag&#61;1;}for(j&#61;1;j<&#61;length[i]-2;j&#43;&#43;)if((buf[i][j]>buf[i][j-1]&&buf[i][j]>buf[i][j&#43;1])||(buf[i][j]1]&&buf[i][j] 1])){if(j&#61;&#61;1&&flag&#61;&#61;1)printf(" %d",j);else if(j&#61;&#61;1&&flag&#61;&#61;0)printf("%d",j);else if(j>1&&flag&#61;&#61;1)printf(" %d",j);else if(j>1&&flag&#61;&#61;0){printf("%d",j);flag&#61;1;}}if(buf[i][length[i]-1]!&#61;buf[i][length[i]-2])printf(" %d",length[i]-1);printf("\n");}}return 0;
}
-