poj 2965 The Pilots Brothers' refrigerator 普通dfs 超时 暑假第二题

2023-12-08 10:38

本文主要是介绍poj 2965 The Pilots Brothers' refrigerator 普通dfs 超时 暑假第二题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码:

//#include<iostream>
#include<string.h>
#include<stdio.h>
//using namespace std;
int step=0;
int visit[5][5]= {0};
char a[5][5];
bool b[5][5];
bool c[5][5];
int k=0;
struct Str
{int x;int y;
};
Str d[50];
void roll(int row,int col)
{int i,j;for(i=1; i<=4; i++){b[row][i]=!b[row][i];b[i][col]=!b[i][col];}b[row][col]=!b[row][col];
}
bool Judge()
{int i,j;for(i=1; i<=4; i++)for(j=1; j<=4; j++)if(b[i][j]==0)return 0;return 1;
}
void huanyuan()
{int i,j;for(i=1;i<=4;i++){for(j=1;j<=4;j++){b[i][j]=c[i][j];}}
}
void dfs(int depth)
{int i,j;if(depth==step){if(Judge()==1){k=1;printf("%d\n",step);//cout<<step<<endl;for(i=0; i<depth; i++){printf("%d %d\n",d[i].x,d[i].y);//cout<<d[i].x<<' '<<d[i].y<<endl;}return ;}return ;}for(i=1; i<=4; i++){for(j=1; j<=4; j++){if(visit[i][j]==0&&k==0){visit[i][j]=1;d[depth].x=i;d[depth].y=j;roll(i,j);dfs(depth+1);visit[i][j]=0;roll(i,j);}}}
}
int main()
{int i,j;memset(visit,0,sizeof(visit));for(i=1; i<=4; i++){for(j=1; j<=4; j++){scanf("%c",&a[i][j]);// cin>>a[i][j];if(a[i][j]=='+')b[i][j]=0;elseb[i][j]=1;//开c[i][j]=b[i][j];}getchar();}for(step=1; step<=16; step++){dfs(0);if(k)break;}return 0;
}


这篇关于poj 2965 The Pilots Brothers' refrigerator 普通dfs 超时 暑假第二题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/469550

相关文章

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

poj 3974 and hdu 3068 最长回文串的O(n)解法(Manacher算法)

求一段字符串中的最长回文串。 因为数据量比较大,用原来的O(n^2)会爆。 小白上的O(n^2)解法代码:TLE啦~ #include<stdio.h>#include<string.h>const int Maxn = 1000000;char s[Maxn];int main(){char e[] = {"END"};while(scanf("%s", s) != EO