BZOJ3109: [cqoi2013]新数独
题目: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]新数独的更多相关文章
- 【搜索】bzoj3109 [cqoi2013]新数独
搜索,没什么好说的.要注意读入. Code: #include<cstdio> #include<cstdlib> using namespace std; ][]= {{,, ...
- 3109. [CQOI2013]新数独【DFS】
Description Input 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v). Output 输出包含9行,每行 ...
- B3109 [cqoi2013]新数独 搜索dfs
就是基于普通数独上的一点变形,然后就没什么了,普通数独就是进行一边dfs就行了. 题干: 题目描述 输入格式 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第 ...
- CQOI2013 新数独
传送门 这道题也是很暴力的搜索啊…… 因为数独一开始全是空的,只有许许多多的大小限制条件,那也没必要纠结从哪开始搜索了,直接暴力搜索之后判断一下是否合法. 这题最恶心的是读入.现学了一招判断点在哪个块 ...
- bzoj 3109: [cqoi2013]新数独
#include<cstdio> #include<iostream> using namespace std; ][],li[][],xi[][],a[][],bh[][], ...
- bzoj 3109: [cqoi2013]新数独【dfs】
按3x3的小块dfs,填数的时候直接满足所有条件即可 #include<iostream> #include<cstdio> #include<cstring> u ...
- bzoj3109【CQOI2013】新数独
3109: [cqoi2013]新数独 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 365 Solved: 229 [Submit][Statu ...
- BZOJ3105: [cqoi2013]新Nim游戏 博弈论+线性基
一个原来写的题. 既然最后是nim游戏,且玩家是先手,则希望第二回合结束后是一个异或和不为0的局面,这样才能必胜. 所以思考一下我们要在第一回合留下线性基 然后就是求线性基,因为要取走的最少,所以排一 ...
- BZOJ3105: [cqoi2013]新Nim游戏
题解: 线性基?类似于向量上的基底. 此题题解戳这里:http://blog.csdn.net/wyfcyx_forever/article/details/39477673 代码: #include ...
随机推荐
- OC学习12——字符串、日期、日历
前面主要学习了OC的基础知识,接下来将主要学习Foundation框架的一些常用类的常用方法.Foubdation框架是Cocoa编程.IOS编程的基础框架,包括代表字符串的NSString(代表字符 ...
- 数据库的SQL优化
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. (因为在条件查询条件添加索引,会直接被检索到列,会非常的快速) 2.应尽量避免在 wher ...
- CubeSuit+ ( CS+ for ca )
作为瑞萨单片机的初学者,最先接触的当属它的IDE了,接下来我将分享一些我使用这款单片机的心得,以供大家参考. 我使用的是RL78F13系列R5F10BGE,那如何建立一个能使用的工程呢?相信大家在网络 ...
- [置顶]
MVC中使用signalR入门教程
一.前言:每次写总要说一点最近的感想 进入工作快半年了,昨天是最郁闷的一天,我怀疑我是不是得了"星期一综合征",每个星期一很没有状态.全身都有点酸痛,这个可能一个星期只有周末才打一 ...
- bat修改密码
@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...
- Linux第三节整理 、增删改查、用户管理
帮助+基本文件管理+用户管理 1.怎么查看命令帮助 ls --help man ls :查看命令/man 5 file:查看配置文件 2.基本文件管理,通过{查,建,删,改} 四个维度介绍了不同的命令 ...
- rmdir 命令详解
rmdir 作用: 用来删除空目录, 当目录不再被使用时, 或者磁盘空间已达到使用限定值, 就需要删除失去价值的目录. 利用rmdir 命令可以从一个目录中删除一个或多个空的子目录. 该命令从一个 ...
- SpringMVC配置双数据源,一个java项目同时连接两个数据库
数据源在配置文件中的配置 请点击---> java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 <pre name="code" class=" ...
- 使用 PyCharm 添加 第三方 依赖库
背景 最近开始搞python, 需要帮助算法同事一起调试程序,在本地安装python以后使用 pip 来安装第三方库. 但是算法同事一直使用的是PyCharm 这个IDE,所以需要与他一起调试的时候也 ...
- Oracle添加记录的时候报错:违反完整性约束,未找到父项关键字
今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存 ...