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


    题目描述:

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

    输入:

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

    输出:

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

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

    #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("
    ");
            }
        }
        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("
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    POSIX 互斥锁: pthread_mutex_t
    cocos2dx 常见的32种切换场景的动画
    在Xcode中制作.a文件
    Xcode设置项之Architectures和Valid Architectures
    C/C++位操作运算符
    ValueVector和ValueMap
    iOS工程结构理解
    CocoaPods的安装
    Win7平台下配置Sublime Text2 的C++编译环境
    Objective-C中Block的常见用法
  • 原文地址:https://www.cnblogs.com/Murcielago/p/3971277.html
Copyright © 2020-2023  润新知