我先求出交叉的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. java面试题(基础部分)

    1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...

  2. 【转】onAttachedToWindow()在整个Activity生命周期的位置及使用

    上篇博客实现圆角对话框样式的Activity中提到,若需实现圆角对话框Activity,需要在Activity的onAttachedToWindow()函数中做文章,那么就想问: onAttached ...

  3. C++拾遗(一)——变量和基本类型

    今天看到一个小小的算法,交换两个数却不引入中间变量,想了下没什么思路.看了答案是这样: int a, b; a = a + b; b = a - b; a = a - b; 感觉还是挺有想法的,借此也 ...

  4. tomcat配置 —— 各个目录的作用

    tomcat各目录(文件)作用 tomcat-7.0.50解压版,主目录一览: 我们可以看到主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹,下面对他们分别 ...

  5. GNU make(2)

    GNU make(2) 参考: GNU Make学习总结(二) 变量 变量由一个前导符号$加上字符或者是括号字符组成, 名称区分大小写. 命名: 习惯上用全部大写字符表示常量, 小写字符表示变量, 单 ...

  6. elasticsearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解

    一.快速入门1. 查看集群的健康状况http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明:v是用来要求在结果中返回表头 状 ...

  7. NASM 之 helloworld1

    SECTION .data msg: db "Hello World!", 0x0a len: equ $-msg SECTION .text global _main kerne ...

  8. JSONP 跨域请求 - 获取JSON数据

    如何用原生方式使用JSONP? 下边这一DEMO实际上是JSONP的简单表现形式,在客户端声明回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务端返回相应的数据并动态执行回调函数. ...

  9. 多维的vector定义和初始化

    vector<vector<int> >vv(3, vector<int>(4));//这里,两个“>”间的空格是不可少的 将构造一个二维向量vv,它含有三个 ...

  10. Alfred的配置和使用

    http://www.jianshu.com/p/f77ad047f7b0   Alfred:mac上的神兵利器,提升工作效率*n,快捷键:option + 空格.鉴于是看了池老师的<人生元编程 ...