我先求出交叉的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. mirror.js 整合redux的好工具

    mirror.js 很简单,让state管理更方便了,没有新增api,值 得使用 https://github.com/yurizhang/mirror package.json { "na ...

  2. substring和substr,slice和splice

    substring 和 substr 这二货都是针对字符串而言的,且都是返回一个副本,而不是在原字符串上直接操作. 上代码: var str = '0123456789'; console.log( ...

  3. CF1081E Missing Numbers

    思路: 贪心乱搞. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll m = ...

  4. CString的GetBuffer和ReleaseBuffer

    GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. CString ::GetBu ...

  5. java 删除字符串最后一个字符的几种方法

    偶然看到的,记录一下,以免忘记 字符串:string s = "1,2,3,4,5," 目标:删除最后一个 "," 方法:    1.用的最多的是Substri ...

  6. dialog样式的activity设置activity的title为隐藏属性

    View view= this.findViewById(android.R.id.title);view.setVisibility(View.GONE);

  7. 覆盖alert对话框-自制Jquery.alert插件

    Javascript 代码: (function ($) { 'use strict'; window.alert = $.alert = function (msg) { var defaultOp ...

  8. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  9. Asp.Net Core 入门(六)—— 路由

    Asp.Net Core MVC的路由在Startup.cs文件中的Configure方法中进行配置,使其加入到Http请求管道中,如果不配置,那么我们所发送的请求无法得到象应. 那么该怎么配置Asp ...

  10. WINDOWS-API:API函数大全

    操作系统除了协调应用程序的执行.内存分配.系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数),可以帮肋应用程序达到开启视窗.描绘图形.使用周边设备的目的,由 ...