题目: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. KVO的内部实现以及使用

    转载自:http://www.cocoachina.com/applenews/devnews/2014/0107/7667.html   KVO是实现Cocoa Bindings的基础,它提供了一种 ...

  2. 7 Series GTP IP核使用总结 IP核配置篇

    FPGA内嵌收发器相当于以太网中的PHY芯片,但更灵活更高效,线速率也在随着FPGA芯片的发展升级.本文对7系列FPGA内部高速收发器GTP IP核的配置和使用做些简单的总结,以备后续回顾重用.本文是 ...

  3. Hibernate缓存和状态

    缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.   缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘 ...

  4. 506. Relative Ranks

    Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...

  5. ArcGIS 网络分析[2.1] 最短路径

    最短路径求解 [如果看到此博客还没有网络数据集的,请参考第一章的内容,点击我,看目录] 最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离? 考虑到拥堵问题,限速问题,换乘问题,在现实的最短 ...

  6. 深入理解 Python 异步编程(上)

    http://python.jobbole.com/88291/ 前言 很多朋友对异步编程都处于"听说很强大"的认知状态.鲜有在生产项目中使用它.而使用它的同学,则大多数都停留在知 ...

  7. Solr 管理界面删除所有数据

    https://my.oschina.net/lcdmusic/blog/326698

  8. ActiveReports 6:如何升级旧版本的项目

    如果现在的项目使用的是ActiveReports for .NET 3.0,那么有两种升级方式: 一是使用ActiveReports 6.0附带的转换工具(参见下面"升级ActiveRepo ...

  9. Scrum And Teamwork

    Scrum Learning 概念 Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发.Scrum包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管 ...

  10. spring中Bean后置处理器实现总结

    BeanPostProcessor接口 bean的后置处理器实现功能主要是 可以在bean初始化之前和之后做增强处理.自定义MyBeanProcessor实现BeanPostProcessor接口,重 ...