题目1126:打印极值点下标 题目1432:叠筐

题目描述:

把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。

输入:

输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;

输出:

输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。

样例输入:
11 B A
5 @ W
样例输出:
 AAAAAAAAA
ABBBBBBBBBA
ABAAAAAAABA
ABABBBBBABA
ABABAAABABA
ABABABABABA
ABABAAABABA
ABABBBBBABA
ABAAAAAAABA
ABBBBBBBBBA
 AAAAAAAAA

 @@@
@[email protected]
@[email protected]@
@[email protected]
 @@@
#include "stdio.h"

char buf[80][80];

void Func(int x,int m,char ch){
    int i,j;
    for(i=x;i<=x+m-1;i++)
        for(j=x;j<=x+m-1;j++)
            buf[i][j]=ch;
}

int main(int argc, char* argv[])
{
    int i,j,n;
    char ch1,ch2,temp1,temp2;;
    while(scanf("%d %c %c",&n,&ch1,&ch2)!=EOF){
        if((n-1)%4==0){
            temp1=ch1;
            temp2=ch2;
        }
        else{
            temp1=ch2;
            temp2=ch1;
        }
        for(i=0;i<=n/2-1;i++){
            if(i%2==0)
                Func(i,n-2*i,temp1);
            else
                Func(i,n-2*i,temp2);

        }
        buf[n/2][n/2]=ch1;
        buf[0][0]=buf[0][n-1]=buf[n-1][0]=buf[n-1][n-1]=‘ ‘;
        for(i=0;i<=n-1;i++){
            for(j=0;j<=n-1;j++)
                printf("%c",buf[i][j]);
            printf("\n");
        }
    }
    return 0;
}
题目描述:

在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,
或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。

输入:

每个案例的输入如下:

有2×n+1行输入:第一行是要处理的数组的个数n;
对其余2×n行,第一行是此数组的元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔。

输出:

每个案例输出为n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔。

样例输入:
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
样例输出:
0 7
2 3 4 5 6 10 12
0 2 3 10 12 14
来源:
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)!=EOF){
        for(i=0;i<=n-1;i++){
            scanf("%d",&k);
            length[i]=k;
            for(j=0;j<=k-1;j++)
                scanf("%d",&buf[i][j]);
        }
        for(i=0;i<=n-1;i++){
            int flag=0;
            if(buf[i][0]!=buf[i][1]){
                printf("0");
                flag=1;
            }
            for(j=1;j<=length[i]-2;j++)
                if((buf[i][j]>buf[i][j-1]&&buf[i][j]>buf[i][j+1])||(buf[i][j]<buf[i][j-1]&&buf[i][j]<buf[i][j+1])){
                    if(j==1&&flag==1)
                        printf(" %d",j);
                    else if(j==1&&flag==0)
                            printf("%d",j);
                        else if(j>1&&flag==1)
                                printf(" %d",j);
                            else if(j>1&&flag==0){
                                printf("%d",j);
                                flag=1;
                            }
                }
            if(buf[i][length[i]-1]!=buf[i][length[i]-2])
                printf(" %d",length[i]-1);
            printf("\n");
        }
    }
    return 0;
}

时间: 2024-11-03 01:26:13

题目1126:打印极值点下标 题目1432:叠筐的相关文章

题目1126:打印极值点下标

时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i. 输入: 每个案例的输入如下: 有2×n+1行输入:第一行是要处理的数组的个数n:对其余2×n行,第一行是此数组的元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔. 输出: 每个案例输出为n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔. 样例输入: 3 1

打印极值点下标

题目描述 在一个整数数组中,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为极值点. 输入要求 有2×n+1行输入:第一行是要处理的数组的个数n:对其余2×n行,每2行表示一个数组.第一行是此数组的元素个数k(4≤k≤80),第二行是k个整数. 输出要求 输出为n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔. 假如输入 3 10 10 12 12 11 11 12 23 24 12 12 15 12 12 122 112 222 211 222

题目1065:输出梯形 (直接用循环控制输出)+题目1432:叠筐 (数组控制形状,最后输出数组)

题目1065:输出梯形 (直接用循环控制输出)+ 样例输入: 4  样例输出:                        **** ****** ******** ********** 题目1432:叠筐    样例输入:                        11 B A 5 @ W 样例输出:                        AAAAAAAAA ABBBBBBBBBA ABAAAAAAABA ABABBBBBABA ABABAAABABA ABABABABABA A

题目1432:叠筐

时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:6048 解决:1412 题目描述: 把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错.这个工作现在要让计算机来完成,得看你的了. 输入: 输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符: 输出: 输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉.叠筐与叠筐之间应有一行间隔. 样例输入: 11

九度 题目1335:闯迷宫 题目1365:贝多芬第九交响曲

转载请注明本文地址http://blog.csdn.net/yangnanhai93/article/details/40718149 简单说说宽度优先搜索BFS 说实话,这是第一个自己写的宽度优先搜索的题目,之前也是不太明白之间的区别,好吧,只能说自己学的太渣-- 言归正传,对于初学者来说,可能最大的概念就是一个是深度搜索,一个是宽度搜索,好吧,我表示废话了,我其实就是这个样子的,然后一直不得甚解...所以第一次上来,我就直接搜索DFS,结果太明显,就是TLE或者MLE,然后就抓狂中,这可能是

【UTR #2】[UOJ#278]题目排列顺序 [UOJ#279]题目交流通道 [UOJ#280]题目难度提升

[UOJ#278][UTR #2]题目排列顺序 试题描述 "又要出题了." 宇宙出题中心主任 -- 吉米多出题斯基,坐在办公桌前策划即将到来的 UOI. 这场比赛有 n 道题,吉米多出题斯基需要决定这些题目的难度,然后再在汪洋大海中寻找符合该难度的题目. 题目的难度可以用一个 1 到 n 的排列 a1,-,an 表示,其中 ai 表示第 i 道题目在这 n 道题目中是第 ai 简单的题目,即恰有 ai?1 道题目比第 i 道题目简单. 经验丰富的吉米多出题斯基早就悟出了一种科学地决定难

hduoj 2074 叠筐

叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12122    Accepted Submission(s): 3122 Problem Description 需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错.这个工作现在要让计算机来完成,得看你的了. Input 输入是一个个的三元组,分别是,外筐尺

HDU2074 叠筐(模拟问题)

Problem Description http://acm.hdu.edu.cn/showproblem.php?pid=2074 需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错.这个工作现在要让计算机来完成,得看你的了. Input 输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符: Output 输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角

hdu2074 叠筐

叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20470    Accepted Submission(s): 5348 Problem Description 需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错.这个工作现在要让计算机来完成,得看你的了. Input 输入是一个个的三元组,分别是,外筐尺寸