我先求出交叉的gird,然后再一行一行求得。感觉还可以吧。思路比较清晰,开始想的是数是第几行然后从每一行的前后开始控制,好麻烦的感觉,我就先求出来了框架再做就好做多啦!后来PE,突然发现我特殊处理n=1的时候一下子输出了2个\n,改掉以后就好了。

#include <stdio.h>
#include <math.h>
#include <string.h>
#define bug puts("bug!bug!bug!!!!!");
char gird[][];
int main(){
int n,i,j,cnt,g;
int isfirst=;
char gird[][],in,out,oout;
while(~scanf("%d %c %c",&n,&in,&out)){
if(isfirst==) printf("\n");
if(n==){
printf("%c\n",in);
continue;
}
for(i=;i<n;++i)
for(j=;j<n;++j)
gird[i][j]=' ';
if( (n+)/%== ) oout=out;
else oout=in;
for(i=;i<n;++i) gird[i][]=oout;
for(i=,j=;i<n;++i,++j){
if(gird[i-][j-]==out) gird[i][j]=in;
else gird[i][j]=out;
}
//bug;
for(i=n-,j=;i>=;--i,++j){
if(gird[i+][j-]==out) gird[i][j]=in;
else gird[i][j]=out; }/*
for(i=0;i<n;++i){
for(j=0;j<n;++j){
printf("%c",gird[i][j]);
}
printf("\n");
}*/
for(i=;i<n;++i) gird[n-][i]=gird[][i]=oout;
for(i=;i<n-;++i){
cnt=;g=;
for(j=;j<n;++j){
if(gird[i][j]==out||gird[i][j]==in) g++;
if(i==j&&i==(n-)/ ) g++;
if(cnt==){
gird[i][j]=gird[i][j-];
}else if(cnt==||cnt==){
if(gird[i][j-]==out) gird[i][j]=in;
else gird[i][j]=out;
}
cnt=g;
}
}
gird[][]=gird[n-][n-]=gird[][n-]=gird[n-][]=' ';
for(i=;i<n;++i){
for(j=;j<n;++j){
printf("%c",gird[i][j]);
}
printf("\n");
}
isfirst=;
}
return ;
}

hdu2074的更多相关文章

  1. hdu2074 叠筐

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  2. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

  3. hdu2073-2078

    hdu2073 数学 #include<stdio.h> #include<math.h> double len(double x){ )*(x+)); } int main( ...

  4. ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)

    1030: Hungar的时尚球场 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 14  Solved: 8 [Submit][Status][Web ...

  5. HDU100题简要题解(2070~2079)

    HDU2070 Fibbonacci Number 题目链接 Problem Description Your objective for this question is to develop a ...

随机推荐

  1. AJPFX关于Collection接口的总结

    ###15Collection-List-ArrayList/LinkedList/*  * Collection接口中的方法* A:添加功能*                 boolean add ...

  2. Spring AOP初步总结(二)

    该篇为Spring AOP的一个应用案例:系统日志 需求:将任何删除,更改或新增数据库的操作汇总到数据库中 步骤1:编写切面 @Aspect @Component public class SysLo ...

  3. Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)

    1.代码 import java.io.Serializable; import java.util.NavigableMap; import java.util.Random; import jav ...

  4. input禁止显示用户输入历史记录

    input标签中加上属性autocomplete="off"

  5. red5 重新分配 ip

    root@hett-OptiPlex-7040:~# ll /usr/local/src/red5/conf/total 144drwxr-xr-x 2 root root  4096  1月  9 ...

  6. LintCode 30插入区间

    问题 给出一个无重叠的按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 样例 插入区间[2, 5] 到 [[1,2], ...

  7. SVN中的check out与export的区别

    http://blog.csdn.net/zndxlxm/article/details/7763116 check out跟check in对应,export跟import对应. check out ...

  8. block的优势

    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Blocks/Articles/bxOvervie ...

  9. jQuery筛选器及练习

    jQuery初识   jQuery是什么? jQuery是一个兼容多浏览器的JavaScript库. jQuery能极大地简化JavaScript编程,它的宗旨就是:"Write less, ...

  10. windows搭建gcc开发环境(msys2) objdump

    前言 可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等. msys2可以在windows下搭建一个 ...