http://poj.org/problem?id=3752

这是一道我觉得还蛮有意思的题目,不难,是个水题,但我也TLE了几次,感到很奇怪,这么简单的循环还TLE,最后一想,肯定是有几个例子我是没有考虑到的

我觉得就是考你对循环的使用吧

代码写的有点长,有点琐碎

 #include <stdio.h>
#include <iostream>
#include <string.h> using namespace std; char str[][]; bool mark[][]; int main()
{
int m,n,i,j;
while(scanf("%d%d",&m,&n)!=EOF)
{
memset(mark,false,sizeof(mark));
for(i=;i<=m;i++)
for(j=;j<=n;j++) //对需要存字母的地方进行初始化,因为我的判断退出的标志是它的四周都已经有了字母,而有字母则是false,想不通的就考虑2,2这一种情况
mark[i][j]=true;
for(i=;;)
{
str[][]='A';
mark[][]=false;
if(i==)
{
for(j=;j<=n&&mark[i][j];j++)
{
if(str[i][j-]=='Z') str[i][j]='A';
else str[i][j]=str[i][j-]+;
mark[i][j]=false;
}
i++;
j--;
if(i>m) break;
}
else
{
for(;i<=m&&mark[i][j];i++)
{
if(str[i-][j]=='Z') str[i][j]='A';
else str[i][j]=str[i-][j]+;
mark[i][j]=false;
}
i--;
if(!mark[i+][j]&&!mark[i-][j]&&!mark[i][j+]&&!mark[i][j-]) break;
for(j--;j>=&&mark[i][j];j--)
{
if(str[i][j+]=='Z') str[i][j]='A';
else str[i][j]=str[i][j+]+;
mark[i][j]=false;
}
j++;
if(!mark[i+][j]&&!mark[i-][j]&&!mark[i][j+]&&!mark[i][j-]) break;
for(i--;i>=&&mark[i][j];i--)
{
if(str[i+][j]=='Z') str[i][j]='A';
else str[i][j]=str[i+][j]+;
mark[i][j]=false;
}
i++;
if(!mark[i+][j]&&!mark[i-][j]&&!mark[i][j+]&&!mark[i][j-]) break;
for(j++;j<=n&&mark[i][j];j++)
{
if(str[i][j-]=='Z') str[i][j]='A';
else str[i][j]=str[i][j-]+;
mark[i][j]=false;
}
j--;
i++;
if(!mark[i+][j]&&!mark[i-][j]&&!mark[i][j+]&&!mark[i][j-]) break;
}
}
for(i=;i<=m;i++)
{
for(j=;j<=n;j++)
printf(" %c",str[i][j]);
printf("\n");
}
}
return ;
}

POJ 3752的更多相关文章

  1. POJ 3752 字母旋转游戏

    问题描述: 给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值为A至Z的26个字母中的一个,A在左上角,其余各数按顺时针方向旋转前进,依次递增放置,当超过26时又从A开始填充.例如,当M=5,N ...

  2. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  3. POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理

    Find a multiple Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7192   Accepted: 3138   ...

  4. POJ 2965. The Pilots Brothers' refrigerator 枚举or爆搜or分治

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22286 ...

  5. POJ 1753. Flip Game 枚举or爆搜+位压缩,或者高斯消元法

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37427   Accepted: 16288 Descr ...

  6. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

  7. POJ 2739. Sum of Consecutive Prime Numbers

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20050 ...

  8. POJ 2255. Tree Recovery

    Tree Recovery Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11939   Accepted: 7493 De ...

  9. POJ 2752 Seek the Name, Seek the Fame [kmp]

    Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17898   Ac ...

随机推荐

  1. Orchard源码分析(6):Shell相关

    概述在Orchard中,提出子站点(Tenant)的概念,目的是为了增加站点密度,即一个应用程序域可以有多个子站点. Shell是子站点(Tenant)级的单例,换句话说Shell代表了子站点.对比来 ...

  2. Linux jdk1.7安装与 jdk1.6卸载

    昨天安装zookeeper时需要java环境,也就是安装jdk    安装完jdk1.7后,配置好环境变量, vim ~/.bashrc       JAVA_HOME=安装路径 export PAT ...

  3. Coding上传项目步骤

    step1:在coding上面创建一个项目mybokestep2:在git 命令台中进入项目的根目录下面,使用git init创建.git文件夹和.gitigonre文件,帮组本地与远程的链接step ...

  4. [整理]AngularJS学习资源

    https://angular.io/docs/js/latest/(2.0官方网站) http://www.linuxidc.com/Linux/2014-05/102139.htm(Angular ...

  5. 谈谈我眼中的CSDN吧

    昨天逛博客园看到了这篇曝光率很高的文章:博客搬家——从CSDN到博客园,一篇短短的文章竟然招致这么多人的讨论,可能程序员就喜欢“Java好还是PHP好”这类型的问题吧,好无聊.由于我一直在使用CSDN ...

  6. Java并发包源码学习之AQS框架(三)LockSupport和interrupt

    接着上一篇文章今天我们来介绍下LockSupport和Java中线程的中断(interrupt). 其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现 ...

  7. zstu.2512. Moving Tables(贪心)

     Moving Tables Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1182  Solved: 563 Description The famo ...

  8. 【C语言入门教程】1.1 基本程序结构

    基本程序结构就是从上至下顺序执行的程序,C语言程序必须有且只有一个主函数,程序从主函数开始执行,直到主函数结束.下例是根据半径求圆形面积的程序源代码. #include <stdio.h> ...

  9. Mac Pro 修改主机名

    修改 主机名称 sudo scutil --set HostName jianbao-PC 修改 共享名称 sudo scutil --set ComputerName jianbao-PC

  10. java 自定义标签 传值

    <?xml version="1.0" encoding="UTF-8" ?>   <taglib xmlns="http://ja ...