hdu 2074

ps:WA了好多次...因为首先是n=1的情况,其次是中心花色和外花色,中心花色也有可能是最外层花色。。。。很无语。

然后就是格式问题咯。

代码

#include "stdio.h"
#include "string.h"
void GG(int n,char a,char b);
void pri(char a);
int main(){
    int i,j,n,ncase=0;
    char a,b;
    while(~scanf("%d %c %c",&n,&a,&b)){
        if(ncase++) printf("\n");
        if(n==1){
            printf("%c\n",a);
            continue;

        }
        if((n/2+1)%2==0){
            GG(n,a,b);
        }
        else{
            GG(n,b,a);
        }
    }
    return 0;
}
void GG(int n,char a,char b){
    int i,j;
    for(i=1;i<=n/2+1;i++){
        if(i==1){
            printf(" ");
            for(j=1;j<=n-2;j++) pri(b);
            printf(" \n");
        }
        else{
            for(j=1;j<=n;j++){
                if(j>=i && n-j+1>=i){
                    if(i%2==0)
                        pri(a);
                    else
                        pri(b);
                }
                else{
                    if(j%2==0){
                        if(j==n){
                            pri(a);
                            printf("\n");
                            continue;
                        }
                        pri(a);
                    }
                    else{
                        if(j==n){
                            pri(b);
                            printf("\n");
                            continue;
                        }
                        pri(b);
                    }
                }
            }
        }
    }
    for(i=n-(n/2+1)+2;i<=n;i++){
        if(i==n){
            printf(" ");
            for(j=1;j<=n-2;j++) pri(b);
            printf(" \n");
        }
        else{
            for(j=1;j<=n;j++){
                if(j<=i && n-i+1<=j){
                    if(i%2==0)
                        pri(a);
                    else
                        pri(b);
                }
                else{
                    if(j%2==0){
                        if(j==n){
                            pri(a);
                            printf("\n");
                            continue;
                        }
                        pri(a);
                    }
                    else{
                        if(j==n){
                            pri(b);
                            printf("\n");
                            continue;
                        }
                        pri(b);
                    }
                }
            }
        }
    }

}
void pri(char a){
    printf("%c",a);
}
时间: 2024-10-15 00:21:01

hdu 2074的相关文章

hdu 2074 叠筐 好有意思的画图题

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

叠筐 HDU - 2074

找规律的模拟题,细节较多.网上推出的有公式. 除了公式之外,还可以这样看. 这个花框是里外交替的.假设 外 1 层为A的话,接下来外2层就是B,再接下来,外3层为A.....以此类推 层数 t ∈ [ 0,(T+1)/2 ) 当 t 为奇数 时 ,最外层为 A ,当 t 为偶数时 最外层为B ,然后层层交替. 处理完之后,再挖去四个角.以空格覆盖之.完毕. 注意事项: (1)由于数据有多组,注意str字符数组的初始化........ (2)当 N==1 时单独输出. (3)函数调用里面的str[

HDU 2074 叠筐

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

hdu 2074 堆放篮 好开心图纸标题

堆放篮 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12160    Accepted Submission(s): 3136 Problem Description 须要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时.边筐花色交错.这个工作如今要让计算机来完毕,得看你的了. Input 输入是一个个的三元组,各自是.外筐

HDU分类

模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 12

hdu 1525 Euclid&#39;s Game

Euclid's Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2074    Accepted Submission(s): 924 Problem Description Two players, Stan and Ollie, play, starting with two natural numbers. Stan,

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116

HDU——PKU题目分类

HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201

HDU 6203 ping ping ping [LCA,贪心,DFS序,BIT(树状数组)]

题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=6203] 题意 :给出一棵树,如果(a,b)路径上有坏点,那么(a,b)之间不联通,给出一些不联通的点对,然后判断最少有多少个坏点. 题解 :求每个点对的LCA,然后根据LCA的深度排序.从LCA最深的点对开始,如果a或者b点已经有点被标记了,那么continue,否者标记(a,b)LCA的子树每个顶点加1. #include<Bits/stdc++.h> using namespace std;