题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3109

搜索一遍。读入注意一下。。

#include<cstring>
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#define rep(i,l,r) for (int i=l;i<=r;i++)
#define down(i,l,r) for (int i=l;i>=r;i--)
#define clr(x,y) memset(x,y,sizeof(x))
#define maxn 1000500
using namespace std;
bool bx[][],by[][],bz[][][];
int mpd[][],mpr[][],mp[][],chx[],chy[];
int cnt1,cnt2,flag;
char ch;
int read(){
int x=,f=; char ch=getchar();
while (!isdigit(ch)) {if (ch=='-') f=-; ch=getchar();}
while (isdigit(ch)) {x=x*+ch-''; ch=getchar();}
return x*f;
}
bool jud(int x,int y,int val){
if (bx[x][val]||by[y][val]||bz[(x-)/][(y-)/][val]) return ;
if (mpr[x][y-]!=) {
if (mpr[x][y-]==&&mp[x][y-]<val) return ;
if (mpr[x][y-]==-&&mp[x][y-]>val) return ;
}
if (mpd[x-][y]!=){
if (mpd[x-][y]==&&mp[x-][y]<val) return ;
if (mpd[x-][y]==-&&mp[x-][y]>val) return ;
}
return ;
}
void print(){
rep(i,,) {
rep(j,,) printf("%d ",mp[i][j]); printf("%d\n",mp[i][]);
}
}
void dfs(int x,int y){
if (x==) {flag=; print(); return;}
if (flag) return;
rep(i,,) if (jud(x,y,i)) {
bx[x][i]=; by[y][i]=; bz[(x-)/][(y-)/][i]=;
mp[x][y]=i;
if (y==) dfs(x+,); else dfs(x,y+);
bx[x][i]=; by[y][i]=; bz[(x-)/][(y-)/][i]=;
}
}
int main(){
//freopen("in.txt","r",stdin);
rep(t,,){
cnt1=cnt2=;
rep(i,,){
if (i&){
cnt1++;
rep(j,,) {
ch=getchar();
while (ch!='<'&&ch!='>') ch=getchar();
if (ch=='<') chx[j]=-; else chx[j]=;
}
// rep(j,1,6) printf("%d ",chx[j]); puts("");
rep(j,,)
rep(k,,)
mpr[cnt1+t*][k+j*]=chx[j*+k];//,printf("%d %d %d\n",cnt1+t*3,k+j*3,mpr[cnt1+t*3][k+j*3]);
}
else {
cnt2++;
rep(j,,) {
ch=getchar();
while (ch!='v'&&ch!='^') ch=getchar();
if (ch=='v') chy[j]=; else chy[j]=-;
}
rep(j,,) rep(k,,) mpd[cnt2+t*][k+j*]=chy[j*+k];//,printf("%d %d %d\n",cnt2+t*3,k+j*3,mpd[cnt2+t*3][k+j*3]);
}
}
}
dfs(,);
return ;
}

BZOJ3109: [cqoi2013]新数独的更多相关文章

  1. 【搜索】bzoj3109 [cqoi2013]新数独

    搜索,没什么好说的.要注意读入. Code: #include<cstdio> #include<cstdlib> using namespace std; ][]= {{,, ...

  2. 3109. [CQOI2013]新数独【DFS】

    Description Input 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v).   Output 输出包含9行,每行 ...

  3. B3109 [cqoi2013]新数独 搜索dfs

    就是基于普通数独上的一点变形,然后就没什么了,普通数独就是进行一边dfs就行了. 题干: 题目描述 输入格式 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第 ...

  4. CQOI2013 新数独

    传送门 这道题也是很暴力的搜索啊…… 因为数独一开始全是空的,只有许许多多的大小限制条件,那也没必要纠结从哪开始搜索了,直接暴力搜索之后判断一下是否合法. 这题最恶心的是读入.现学了一招判断点在哪个块 ...

  5. bzoj 3109: [cqoi2013]新数独

    #include<cstdio> #include<iostream> using namespace std; ][],li[][],xi[][],a[][],bh[][], ...

  6. bzoj 3109: [cqoi2013]新数独【dfs】

    按3x3的小块dfs,填数的时候直接满足所有条件即可 #include<iostream> #include<cstdio> #include<cstring> u ...

  7. bzoj3109【CQOI2013】新数独

    3109: [cqoi2013]新数独 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 365  Solved: 229 [Submit][Statu ...

  8. BZOJ3105: [cqoi2013]新Nim游戏 博弈论+线性基

    一个原来写的题. 既然最后是nim游戏,且玩家是先手,则希望第二回合结束后是一个异或和不为0的局面,这样才能必胜. 所以思考一下我们要在第一回合留下线性基 然后就是求线性基,因为要取走的最少,所以排一 ...

  9. BZOJ3105: [cqoi2013]新Nim游戏

    题解: 线性基?类似于向量上的基底. 此题题解戳这里:http://blog.csdn.net/wyfcyx_forever/article/details/39477673 代码: #include ...

随机推荐

  1. htpasswd 命令详解

    htpasswd参数 -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默 ...

  2. TensorFlow文档翻译-01-TensorFlow入门

    版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/junyang/p/7429771.html TensorFlow入门 英文原文地址:https://w ...

  3. laravel框架一种方便的快速填充数据的方法

    首先大家都知道在laravel框架里是采用seeder来填充数据的,具体命令如下,请将如下的类名称替换成你具体的seeder类名. 首先创建seeder类 php artisan make:seede ...

  4. Apache Avro# 1.8.2 Specification (Avro 1.8.2规范)二

    h5 { text-indent: 0.71cm; margin-top: 0.49cm; margin-bottom: 0.51cm; direction: ltr; color: #000000; ...

  5. win10下部署.Net Web项目到IIS10

    本问主要介绍如何将.Net Web项目部署到IIS10下面. 1.确保iis功能已开启 开启步骤如下:控制面板->程序 点击确定,ok,iis功能已开启. 2.打开iis,绑定站点到iis下面 ...

  6. Nodejs密集型CPU解决方案

    首先说一下nodejs单线程的优势: 高性能,与php相比,避免了频繁创建切换线程的开销,执行更加迅速,资源占用小. 线程安全,不用担心同一变量被多线程读写,造成程序崩溃. 单线程的异步和非阻塞,其实 ...

  7. JQ trigger函数无法触发a标签的两种解决方法

    起因:点击icon图标后要触发a标签的链接转跳动作,但是用 JQ 的 $('#a').trigger('click') 居然不起作用,遂百度之,总结两种方法如下: (原因:JQ 的 trigger() ...

  8. [总结]-2018 w1

    不想总结 2017,过去的就过去吧,不过自己在 2017 年还是收获了很多,最重要的就是赚钱.赚钱还是需要两把刷子,所以,2018 的小目标就是学习数据分析和机器学习.希望自己在这两个领域能搞点事情. ...

  9. Travis CI实现持续部署

    安装Ruby 2.0以上版本并安装travis的命令行工具 可以看出我的已经是安装好的(Ubuntu 16.04.3 LTS 系统) ruby -v ruby --) [x86_64-linux-gn ...

  10. js 错误Error对象详解

    一.概念 error,指程序中的非正常运行状态,在其他编程语言中称为"异常"或"错误".解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信 ...