foj 2180 超时了

点击打开链接http://acm.fzu.edu.cn/problem.php?pid=2180

#include <stdio.h>
#include <string.h>
#include <memory.h>
typedef struct{
	int x;
	int y;

}Move;
Move move[8]={{1,2},{1,-2},{-1,2},{-1,-2},{2,1},{2,-1},{-2,1},{-2,-1}};

int flag,min;
char goal[6][6]={{"11111"},{"01111"},{"00*11"},{"00001"},{"00000"}},str[6][6];

int check()
{
	int i,j,k;
	for(i=0;i<5;i++)
	{
		for(j=0;j<5;j++)
		{
			if(goal[i][j]!=str[i][j])
			return 0;
		}
	}
	return 1;
}
void exchange(int a,int b,int x,int y)
{
	char c;
	c=str[a][b];
	str[a][b]=str[x][y];
	str[x][y]=c;

}
void dfs(int cur,int x,int y,int dirx,int diry)
{
	char c;
	int i,j,k,a=x,b=y;
	if(cur<=15&&cur<min) //走重复没关系 因为步数限制在10 不会死循环
	{
		if(check())
		{
			flag=1;
			if(min>cur)
			{
				min=cur;

			}
			return;

		}

		for(i=0;i<8;i++)
		{
			if(move[i].x==-(dirx)&&move[i].y==-(diry)) continue; //走到下一层 八个方向中 有一个又走到上一层  可以cut
			a=x+move[i].x;
			b=y+move[i].y;
			if(a>=0&&a<5&&b>=0&&b<5)
			{

				exchange(a,b,x,y); //
				dfs(cur+1,a,b,move[i].x,move[i].y);
				exchange(a,b,x,y); //回溯搜索
			}
		}
	}

}
int main()
{

	int f,t,i,j,k,n,a,b;
	scanf("%d",&t);
	while(t--)
	{
		min=999;
		flag=0;
		for(i=0;i<5;i++)
		{
			scanf("%s",str[i]);
			for(j=0;j<5;j++)
			{
				if(str[i][j]=='*')
				{
					a=i;
					b=j;
				}
			}

		}
		dfs(0,a,b,-1,-1);
		if(flag)
		printf("%d\n",min);
		else
		printf("Bored!\n");
	}
	return 0;
}
时间: 2024-12-06 01:58:32

foj 2180 超时了的相关文章

【蓝桥杯】历届试题 连号区间数(运行超时)

  历届试题 连号区间数   时间限制:1.0s   内存限制:256.0MB 问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间. 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助. 输入格式 第一行是一个正整数N (1 <=

select 设置发送超时发送注意事项

//设置发送超时你只发送, 并发送足够多的数据以填满发送缓冲区, 接收端一直不接收.发送端一量满发送缓冲区就会阻塞, 如果你设置了发送超时, 超时到了它就会返回发送超时了. 在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制: 在Linux下需要注意的是时间的控制结构是struct timeval而并不是某一整型数,以下是来自于网上一篇文章中的摘录,它是这样写的:int nNetTimeout=1000;//1秒,//设置发送超时setsockopt(

mongo 自动创建索引导致应用连接超时

2016年10月16日一个周末的时光遇到了一个很是让人恼火的问题!tomcat总是抛出连接超时问题错误,让人甚是恼火啊!!! 报错信息如下: [2016-10-15 18:30:58] 113578459   INFO - ----- PermissionsInterceptor ----- - 登录人pin--------WUJIE 十月 15, 2016 6:30:58 下午 com.mongodb.DBApiLayer$Result killCursor 警告: can't clean 1

一段mongodb服务器读取数据超时的故事

北京时间 2016年9月25日  22:58:30 PM 近期线上生产环境mongodb的总是发现读取数据超时的问题,今天下午坐下来细细的研究了一番,大致过程如下: 业务背景 线上有一对mongodb主从的服务器,只是简单做了mongodb的主从,master - slave. 开始以为做了主从就能确保数据不丢的问题了,确实,数据没有发生丢失的问题,但是近期发现好多用户在点击某些操作要读取mongo里面的数据内容的时候,要等待很长的时间,这样的等待是叫人无法忍受的. 最开始的时候,以为做了主从,

IOS-网络(GET请求和POST请求、HTTP通信过程、请求超时、URL转码)

1 // 2 // ViewController.m 3 // IOS_0129_HTTP请求 4 // 5 // Created by ma c on 16/1/29. 6 // Copyright © 2016年 博文科技. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 #import "MBProgressHUD+MJ.h" 11 12 @interface ViewController

HttpClient(四)-- 使用代理IP 和 超时设置

1.代理IP的用处: 在爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采集屏蔽IP措施.这时候,就可以使用代理IP,屏蔽一个就换一个IP. 2.代理IP分类: 代理IP的话 也分几种: 透明代理.匿名代理.混淆代理.高匿代理,一般使用高匿代理. 3.使用 RequestConfig.custom().setProxy(proxy).build() 来设置代理IP: public static void main(String[] args) throws

python 安装第三方库,超时报错--Read timed out.

Traceback (most recent call last): File "/home/xiaoduc/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 228, in _error_catcher yield File "/home/xiaoduc/.pyenv/versions/3.5.0/lib/pyt

SqlServer2008 无法修改表,超时时间已到 在操作完成之前超时解决方法

在 SQL Server Management Studio 里, 通过菜单“工具-选项”打开选项对话框. 在左侧寻找“设计器-表设计器和数据库设计器”, 然后在右侧勾选“为表设计器更新重写连接字符串的超时值”, 在它下面的“事务超时时间”默认应该是 30 秒,我们应该把它改得稍微大一些.

关于微信支付预下单【统一下单】“操作超时”问题

问题描述: 在微信公众号开发中时常遇到使用微信支付的情况,之前一直注意到微信支付统一下单接口响应特别慢,经常出现"操作超时"的情况,最初为解决因操作超时使用户无法一次完成支付便用了个最多3次的递归,无法一次完成支付问题是解决了但根源问题还是存在,客户端响应还是很慢. 解决方法: 如果你用的是阿里的服务器,那无疑是DNS的问题,将服务器的DNS配置为腾讯公共DNS:119.29.29.29 ,之后的速度会提升很多! 关于微信统一下单: 请访问微信支付官方文档:https://pay.we