bzoj1501 [NOI2005]智慧珠游戏


搜索苟逼题系列。

暴力枚举每一种情况(包括旋转翻转全都考虑在内)然后码出代码。

(正解似乎不是这样子的)

那年好像还有平衡树苟逼题维护数列233333心疼2005noi

代码也就362行而已

PS.bzoj上的交题号是wfj_2333/滑稽

第五个点比较坑。。。我的方法是先搜出所有‘.'的联通块,有大小<3的就直接No Solution了,还有我瞎打乱了搜索顺序

(这个代码比我博客css还长、、、)

// It is made by XZZ
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cstring>
using namespace std;
#define rep(a,b,c) for(rg int a=b;a<=c;a++)
#define drep(a,b,c) for(rg int a=b;a>=c;a--)
#define erep(a,b) for(rg int a=fir[b];a;a=nxt[a])
#define il inline
#define rg register
#define vd void
#define ok =='.'
#define st =ch
#define fr ='.'
#define can(a) (yes[a])
#define disable(a) yes[a]=0
#define able(a) yes[a]=1
#define nxt x,y+1
typedef long long ll;
il int gi(){
rg int x=0;bool flg=0;rg char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')flg=1;ch=getchar();}
while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
return flg?-x:x;
}
const int n=10,m=12;
char s[233][233];
bool yes[233];
bool vis[20][20];
il int dfs(int x,int y){
if(vis[x][y])return 0;
vis[x][y]=1;
if(s[x][y]!='.')return 0;
return 1+dfs(x+1,y)+dfs(x-1,y)+dfs(x,y+1)+dfs(x,y-1);
}
il vd Init(){
memset(s,'X',sizeof s);
rep(i,1,n)scanf("%s",s[i]+1);
rep(i,0,n+1)s[i][0]='X';
rep(i,0,n+1)s[i][i+1]='X';
rep(i,0,n+1)s[n+1][i]='X';
rep(i,'A','L')yes[i]=1;
rep(i,1,n)rep(j,1,i)if(!(s[i][j]ok))yes[s[i][j]]=0;
rep(i,1,n)rep(j,1,i)if(s[i][j]ok&&!vis[i][j]&&dfs(i,j)<3){puts("No solution");exit(0);}
}
il vd Dfs(int x,int y){
if(x==n+1){
rep(i,1,n){
rep(j,1,i)putchar(s[i][j]);
puts("");
}exit(0);
}
if(y==x+1){Dfs(x+1,1);return;}
if(!(s[x][y]ok)){Dfs(nxt);return;}
char ch;
ch='B';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+3][y]ok){
s[x+1][y]st,s[x+2][y]st,s[x+3][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+3][y]fr;
}
if(s[x][y+1]ok&&s[x][y+2]ok&&s[x][y+3]ok){
s[x][y+1]st,s[x][y+2]st,s[x][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x][y+3]fr;
}
s[x][y]fr;able(ch);
}
ch='C';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x][y+1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y+1]fr;
}
if(s[x][y+1]ok&&s[x][y+2]ok&&s[x+1][y]ok){
s[x][y+1]st,s[x][y+2]st,s[x+1][y]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x+1][y]fr;
}
if(s[x][y+1]ok&&s[x][y+2]ok&&s[x+1][y+2]ok){
s[x][y+1]st,s[x][y+2]st,s[x+1][y+2]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x+1][y+2]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x+2][y+1]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x+2][y+1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y-1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y-1]fr;
}
if(y>2&&s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+1][y-2]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+1][y-2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+1][y-2]fr;
}
s[x][y]fr;able(ch);
}
ch='D';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr;
}
s[x][y]fr;able(ch);
}
ch='E';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x][y+1]ok&&s[x][y+2]ok){
s[x+1][y]st,s[x+2][y]st,s[x][y+1]st,s[x][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x][y+1]fr,s[x][y+2]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y+1]ok&&s[x+2][y+2]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y+1]st,s[x+2][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y+1]fr,s[x+2][y+2]fr;
}
if(s[x+1][y+2]ok&&s[x+2][y+2]ok&&s[x][y+1]ok&&s[x][y+2]ok){
s[x+1][y+2]st,s[x+2][y+2]st,s[x][y+1]st,s[x][y+2]st,Dfs(nxt);
s[x+1][y+2]fr,s[x+2][y+2]fr,s[x][y+1]fr,s[x][y+2]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y-1]ok&&s[x+2][y-2]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y-1]st,s[x+2][y-2]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y-1]fr,s[x+2][y-2]fr;
}
s[x][y]fr;able(ch);
}
ch='G';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x][y+1]ok&&s[x][y+2]ok&&s[x+1][y+2]ok){
s[x+1][y]st,s[x][y+1]st,s[x][y+2]st,s[x+1][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x][y+1]fr,s[x][y+2]fr,s[x+1][y+2]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+2]ok&&s[x+1][y+2]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+2]st,s[x+1][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+2]fr,s[x+1][y+2]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok&&s[x+2][y]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x+2][y+1]st,s[x+2][y]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x+2][y+1]fr,s[x+2][y]fr;
}
if(s[x][y+1]ok&&s[x+1][y]ok&&s[x+2][y+1]ok&&s[x+2][y]ok){
s[x][y+1]st,s[x+1][y]st,s[x+2][y+1]st,s[x+2][y]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y]fr,s[x+2][y+1]fr,s[x+2][y]fr;
}
s[x][y]fr;able(ch);
}
ch='H';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok&&s[x][y+2]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,s[x][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr,s[x][y+2]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok&&s[x+1][y+2]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,s[x+1][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr,s[x+1][y+2]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok&&s[x+2][y]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,s[x+2][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr,s[x+2][y]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok&&s[x+2][y+1]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,s[x+2][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr,s[x+2][y+1]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x][y+1]ok&&s[x+1][y-1]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x][y+1]st,s[x+1][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x][y+1]fr,s[x+1][y-1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+1][y+1]st,s[x+2][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+1][y+1]fr,s[x+2][y+1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+1][y-1]ok&&s[x+2][y-1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+1][y-1]st,s[x+2][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+1][y-1]fr,s[x+2][y-1]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x][y+2]ok&&s[x+1][y+2]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x][y+2]st,s[x+1][y+2]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x][y+2]fr,s[x+1][y+2]fr;
}
s[x][y]fr;able(ch);
}
ch='A';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x][y+1]ok){
s[x+1][y]st,s[x][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x][y+1]fr;
}
if(s[x+1][y+1]ok&&s[x][y+1]ok){
s[x+1][y+1]st,s[x][y+1]st,Dfs(nxt);
s[x+1][y+1]fr,s[x][y+1]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok){
s[x+1][y]st,s[x+1][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr;
}
if(s[x+1][y]ok&&s[x+1][y-1]ok){
s[x+1][y]st,s[x+1][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr;
}
s[x][y]fr;able(ch);
}
ch='L';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok&&s[x+3][y+1]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x+2][y+1]st,s[x+3][y+1]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x+2][y+1]fr,s[x+3][y+1]fr;
}
if(s[x][y+1]ok&&s[x][y+2]ok&&s[x][y+3]ok&&s[x+1][y+3]ok){
s[x][y+1]st,s[x][y+2]st,s[x][y+3]st,s[x+1][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x][y+3]fr,s[x+1][y+3]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+3][y]ok&&s[x+3][y-1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+3][y]st,s[x+3][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+3][y]fr,s[x+3][y-1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+3][y]ok&&s[x+3][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+3][y]st,s[x+3][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+3][y]fr,s[x+3][y+1]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x+1][y+2]ok&&s[x+1][y+3]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x+1][y+2]st,s[x+1][y+3]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x+1][y+2]fr,s[x+1][y+3]fr;
}
if(s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+1][y-2]ok&&s[x+1][y-3]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+1][y-2]st,s[x+1][y-3]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+1][y-2]fr,s[x+1][y-3]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+3][y]ok&&s[x][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+3][y]st,s[x][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+3][y]fr,s[x][y+1]fr;
}
if(s[x+1][y]ok&&s[x][y+1]ok&&s[x][y+2]ok&&s[x][y+3]ok){
s[x+1][y]st,s[x][y+1]st,s[x][y+2]st,s[x][y+3]st,Dfs(nxt);
s[x+1][y]fr,s[x][y+1]fr,s[x][y+2]fr,s[x][y+3]fr;
}
s[x][y]fr;able(ch);
}
ch='I';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x][y+1]ok&&s[x][y+2]ok&&s[x+1][y+2]ok&&s[x+1][y+3]ok){
s[x][y+1]st,s[x][y+2]st,s[x+1][y+2]st,s[x+1][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x+1][y+2]fr,s[x+1][y+3]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x+1][y+2]ok&&s[x+1][y+3]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x+1][y+2]st,s[x+1][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x+1][y+2]fr,s[x+1][y+3]fr;
}
if(s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+2][y-1]ok&&s[x+3][y-1]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+2][y-1]st,s[x+3][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+2][y-1]fr,s[x+3][y-1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y-1]ok&&s[x+3][y-1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y-1]st,s[x+3][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y-1]fr,s[x+3][y-1]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok&&s[x+3][y+1]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x+2][y+1]st,s[x+3][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x+2][y+1]fr,s[x+3][y+1]fr;
}
if(s[x+1][y]ok&&s[x+2][y]ok&&s[x+2][y+1]ok&&s[x+3][y+1]ok){
s[x+1][y]st,s[x+2][y]st,s[x+2][y+1]st,s[x+3][y+1]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y]fr,s[x+2][y+1]fr,s[x+3][y+1]fr;
}
if(y>1&&s[x][y+1]ok&&s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+1][y-2]ok){
s[x][y+1]st,s[x+1][y]st,s[x+1][y-1]st,s[x+1][y-2]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y]fr,s[x+1][y-1]fr,s[x+1][y-2]fr;
}
if(y>1&&s[x][y+1]ok&&s[x][y+2]ok&&s[x+1][y]ok&&s[x+1][y-1]ok){
s[x][y+1]st,s[x][y+2]st,s[x+1][y]st,s[x+1][y-1]st,Dfs(nxt);
s[x][y+1]fr,s[x][y+2]fr,s[x+1][y]fr,s[x+1][y-1]fr;
}
s[x][y]fr;able(ch);
}
ch='J';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x+2][y]ok&&s[x+1][y-1]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x+2][y]st,s[x+1][y-1]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x+2][y]fr,s[x+1][y-1]fr;
}
s[x][y]fr;able(ch);
}
ch='F';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+1][y+1]ok&&s[x+1][y+2]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+1][y+1]st,s[x+1][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+1][y+1]fr,s[x+1][y+2]fr;
}
if(y>1&&s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+1][y+1]ok&&s[x+1][y-2]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+1][y+1]st,s[x+1][y-2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+1][y+1]fr,s[x+1][y-2]fr;
}
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x+2][y]ok&&s[x+3][y]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x+2][y]st,s[x+3][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x+2][y]fr,s[x+3][y]fr;
}
if(s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+2][y]ok&&s[x+3][y]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+2][y]st,s[x+3][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+2][y]fr,s[x+3][y]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x][y+2]ok&&s[x][y+3]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x][y+2]st,s[x][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x][y+2]fr,s[x][y+3]fr;
}
if(s[x][y+1]ok&&s[x+1][y+2]ok&&s[x][y+2]ok&&s[x][y+3]ok){
s[x][y+1]st,s[x+1][y+2]st,s[x][y+2]st,s[x][y+3]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+2]fr,s[x][y+2]fr,s[x][y+3]fr;
}
if(s[x+1][y]ok&&s[x+2][y+1]ok&&s[x+2][y]ok&&s[x+3][y]ok){
s[x+1][y]st,s[x+2][y+1]st,s[x+2][y]st,s[x+3][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y+1]fr,s[x+2][y]fr,s[x+3][y]fr;
}
if(s[x+1][y]ok&&s[x+2][y-1]ok&&s[x+2][y]ok&&s[x+3][y]ok){
s[x+1][y]st,s[x+2][y-1]st,s[x+2][y]st,s[x+3][y]st,Dfs(nxt);
s[x+1][y]fr,s[x+2][y-1]fr,s[x+2][y]fr,s[x+3][y]fr;
}
s[x][y]fr;able(ch);
}
ch='K';
if(can(ch)){
disable(ch);s[x][y]st;
if(s[x+1][y]ok&&s[x+1][y+1]ok&&s[x+2][y+1]ok&&s[x+2][y+2]ok){
s[x+1][y]st,s[x+1][y+1]st,s[x+2][y+1]st,s[x+2][y+2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y+1]fr,s[x+2][y+1]fr,s[x+2][y+2]fr;
}
if(s[x][y+1]ok&&s[x+1][y+1]ok&&s[x+1][y+2]ok&&s[x+2][y+2]ok){
s[x][y+1]st,s[x+1][y+1]st,s[x+1][y+2]st,s[x+2][y+2]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y+1]fr,s[x+1][y+2]fr,s[x+2][y+2]fr;
}
if(y>1&&s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+2][y-1]ok&&s[x+2][y-2]ok){
s[x+1][y]st,s[x+1][y-1]st,s[x+2][y-1]st,s[x+2][y-2]st,Dfs(nxt);
s[x+1][y]fr,s[x+1][y-1]fr,s[x+2][y-1]fr,s[x+2][y-2]fr;
}
if(s[x][y+1]ok&&s[x+1][y]ok&&s[x+1][y-1]ok&&s[x+2][y-1]ok){
s[x][y+1]st,s[x+1][y]st,s[x+1][y-1]st,s[x+2][y-1]st,Dfs(nxt);
s[x][y+1]fr,s[x+1][y]fr,s[x+1][y-1]fr,s[x+2][y-1]fr;
}
s[x][y]fr;able(ch);
}
}
int main(){
Init();
Dfs(1,1);
puts("No solution");
return 0;
}

【搜索好题】bzoj1501 [NOI2005]智慧珠游戏的更多相关文章

  1. [BZOJ1501][NOI2005] 智慧珠游戏

    Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符.如果第i行的第j个字符是字母”A”至”L”中的一个,则表示第i行第j列的格子上已经放了零件,零件的编号为对应的字母.如果第i行的第 ...

  2. 洛谷 P4205 [NOI2005]智慧珠游戏 DFS

    目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 总结 题面 题目链接 P4205 [NOI2005]智慧珠游戏 题目描述 智慧 ...

  3. bzoj 1501: [NOI2005]智慧珠游戏 Dancing Link

    1501: [NOI2005]智慧珠游戏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 190  Solved: 122[Submit][Status] ...

  4. Luogu P4205 [NOI2005]智慧珠游戏

    国内少有的可以练习神仙算法--DLX的好题怎么可以被爆搜埋没呢? 看到这题没有DLX的题解所以写一篇,不过貌似我实现的太弱(构图太慢)所以速度上不是很快. 下面开始讲题,但请保证你要先学会DLX.(d ...

  5. 【BZOJ1501】【NOI2005】智慧珠游戏(搜索)

    [BZOJ1501][NOI2005]智慧珠游戏(搜索) 题面 我要一改我懒惰的作风 这道题目必须放题面 Description Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符. ...

  6. BZOJ 1501 智慧珠游戏

    Description Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符.如果第i行的第j个字符是字母”A”至”L”中的一个,则表示第i行第j列的格子上已经放了零件,零件的编号为对 ...

  7. zzulioj--1790-- 弹珠游戏(数学水题!)

    弹珠游戏 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 14  Solved: 10 SubmitStatusWeb Board Descriptio ...

  8. 搜索 水题&&错误集锦

    引子: 本以为搜索的题目老师也不会检查,结果今天早上loli慢悠悠的说:“请同学们提交一下搜索的题目~”,顿时心旌摇曳,却也只能装作镇定自若的样子,点了点头.. 然后就开始了今天的疯狂做题,虽说题目都 ...

  9. Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper)

    Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary Tre ...

随机推荐

  1. [emerg]: getpwnam(“nginx”) failed

    [root@localhost nginx-1.11.2]# /usr/local/nginx/sbin/nginx nginx: [emerg] getpwnam("nginx" ...

  2. UVa 10900 - So you want to be a 2n-aire?(期望DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. BZOJ3926:[ZJOI2015]诸神眷顾的幻想乡(广义SAM)

    Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看. ...

  4. [CQOI2006]凸多边形(半平面相交)

    嘟嘟嘟 本来我要写feng shui这道题的.然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了. 所谓的半平面相交和高中数学的分数规划特别像.比如这道题,把每一条边看成一条有向直 ...

  5. Monkeyrunner命令

    1.使用Monkeyrunner脚本命令时,需要导入模块才能使用模块的脚本命令,Monkeyrunner的常用模块有 MonkeyRunner,MonkeyDevice,MonkeyImage,Mon ...

  6. HDU 1874畅通工程续(迪杰斯特拉算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)     ...

  7. 使用 JLINK 的 RTT 功能 进行 调试打印数据

    jlink V9 时,在 SWD 接口 模式 时  ,要 接 SWO 这个引脚 ,否则导致 在 FreeRTOS的任务中不能使用,  正确的 接线方法 是  VCC,GND,SWDIO,SWCLK,S ...

  8. Gradle Goodness: Parse Files with SimpleTemplateEngine in Copy Task

    With the copy task of Gradle we can copy files that are parsed by Groovy's SimpleTemplateEngine. Thi ...

  9. 免费申请 WebStorm 使用许可 - free JetBrains Open Source license(s)

    闲聊 步入前端切图仔行列的我曾多次纠结过「到底使用哪种编辑器写前端好用?」这样的问题,前前后后尝试过 Dreamweaver .HBuilder .Sublime Text .Atom 和现在主要使用 ...

  10. jQuery实现全选、不选和反选功能

    jQuery结合Font Awesome字体图标实现全选.不选和反选功能 Font Awesome字体图标链接地址:http://www.fontawesome.com.cn/faicons/ 效果: ...