博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva11214 Guarding the Chessboard
阅读量:4361 次
发布时间:2019-06-07

本文共 1514 字,大约阅读时间需要 5 分钟。

uva11214 Guarding the Chessboard

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=100945#problem/A

#include
#define REP(i,a,b) for(int i=a;i<=b;i++)#define MS0(a) memset(a,0,sizeof(a))#define PII pair
using namespace std;typedef long long ll;const int maxn=1000100;const int INF=(1<<29);int n,m;char ch[12][12];int id[12][12];PII X[maxn];int cnt;bool put[12][12];vector
Put(int x,int y){ vector
res; REP(i,1,n){ if(put[i][y]==0){ put[i][y]=1; res.push_back({i,y}); } } REP(i,1,m){ if(put[x][i]==0){ put[x][i]=1; res.push_back({x,i}); } } REP(i,1,n){ int j=x+y-i; if(j>=1&&j<=m&&put[i][j]==0){ put[i][j]=1;res.push_back({i,j}); } j=i-(x-y); if(j>=1&&j<=m&&put[i][j]==0){ put[i][j]=1;res.push_back({i,j}); } } return res;}void Put_pre(vector
v){ for(int i=0;i
v=Put(x,i); if(dfs(x,i,cur+1,maxd)) return 1; Put_pre(v); } REP(i,x+1,n){ REP(j,1,m){ vector
v=Put(i,j); if(dfs(i,j,cur+1,maxd)) return 1; Put_pre(v); } } return 0;}int main(){ freopen("in.txt","r",stdin); int casen=1; while(cin>>n,n){ cin>>m; cnt=0;MS0(id); REP(i,1,n){ REP(j,1,m){ cin>>ch[i][j]; if(ch[i][j]=='X') id[i][j]=++cnt,X[cnt]={i,j}; } } int ans=INF; for(int i=0;;i++){ //cout<
<
View Code

 

转载于:https://www.cnblogs.com/--560/p/5005923.html

你可能感兴趣的文章
【DBAplus】SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
查看>>
二叉树结点删除操作
查看>>
图论-单源最短路-SPFA算法
查看>>
转换文件的字符集
查看>>
prometheus + grafana安装部署(centos6.8)
查看>>
Redis和Memcached的区别【转】
查看>>
VMware: Deploy multiple VM’s from template with PowerCLI
查看>>
Cascaded pose regression
查看>>
model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)...
查看>>
自动在数据库中创建表
查看>>
如何在一个进程中启动另外一个线程:ProcessStartInfo Constructor
查看>>
树状数组模板题 P1904
查看>>
Kerberos安装及使用
查看>>
android 布局中 layout_gravity、gravity、orientation、layout_weight
查看>>
highcharts
查看>>
【学员管理系统】0x02 学生信息管理功能
查看>>
什么是Entity Framework(ORM)
查看>>
软件质量理解
查看>>
jquery 在 table 中修改某行值
查看>>
pyc文件是什么【转载】
查看>>