亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 1838.cpp

?? 哈爾濱工業(yè)大學(xué)ACM 競(jìng)賽網(wǎng)上在線試題集錦的源代碼
?? CPP
字號(hào):
/*  This Code is Submitted by wywcgs for Problem 1838 on 2006-02-17 at 11:59:07 */ 
#include <cstdio>
#include <cctype>
#include <queue>
#include <algorithm>
using namespace std;

const int MAX = 327680;
const int L_MAX = 6;
const int N_MAX = 16;
const int DIR[][2] = { { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } };
typedef pair<int, int> pii;

class BitVector {
private:
	unsigned int bit[MAX];
public:
	void clear();
	bool test(int) const;
	void set(int);
};
void BitVector::clear() {
	memset(bit, 0, sizeof(bit));
}
bool BitVector::test(int pos) const {
	return (bit[pos>>5]&(1<<(pos&31))) != 0;
}
void BitVector::set(int pos) {
	bit[pos>>5] |= 1 << (pos & 31);
}

BitVector vst;
bool vehdir[N_MAX];
int pos[N_MAX][2], len[N_MAX], n;
char field[L_MAX][L_MAX+1];

inline int code(char);
inline int& sub(int o) { return vehdir[o] ? pos[o][0] : pos[o][1]; }
inline int& obj(int o) { return vehdir[o] ? pos[o][1] : pos[o][0]; }
inline void push(queue<pii>&, int, int);
inline bool legal(int, int);
int hash();
void unhash(int);
int move(int);

int main()
{
	int i, j, t;

	for(t = 1; scanf("%d\n", &n) != EOF && n != 0; t++) {
		for(i = 0; i < L_MAX; i++) gets(field[i]);
		memset(len, -1, sizeof(len));
		for(i = 0; i < L_MAX; i++) {
			for(j = 0; j < L_MAX; j++) {
				int o = code(field[i][j]);
				if(o >= 0 && len[o] == -1) {
					vehdir[o] = (field[i][j+1] == field[i][j]);
					pos[o][0] = i; pos[o][1] = j;
					if(vehdir[o]) for(len[o] = 1; field[i][j+len[o]] == field[i][j]; len[o]++);
					else for(len[o] = 1; field[i+len[o]][j] == field[i][j]; len[o]++);
				}
			}
		}
		int step = move(hash());
		if(step == MAX) printf("You are trapped in scenario #%d.\n", t);
		else printf("Scenario #%d requires %d moves.\n", t, step);
	}
	
	return 0;
}

inline int code(char o)
{
	if(o == 'x') return n-1;
	else if(isalpha(o)) return o - 'a';
	else return -1;
}
int hash()
{
	int i, state;
	for(state = i = 0; i < n; i++)
		state = state * 5 + obj(i);
	return state;
}
void unhash(int state)
{
	int i, j;
	for(i = 0; i < n; i++, state /= 5)
		obj(n-1-i) = state % 5;
	memset(field, '.', sizeof(field));
	for(i = 0; i < n; i++) {
		int r = pos[i][0], c = pos[i][1];
		for(j = 0; j < len[i]; j++)
			if(vehdir[i]) field[r][c+j] = 'a' + i;
			else field[r+j][c] = 'a' + i;
	}
}
int move(int begin)
{
	queue<pii> Q; int i, j;
	vst.clear();
	vst.set(begin); Q.push(pii(begin, 0));
	while(!Q.empty()) {
		pii p = Q.front(); Q.pop();
		unhash(p.first);
		if(pos[n-1][1] == L_MAX-len[n-1]) return p.second;
		for(i = 0; i < n; i++) {
			for(j = 1; legal(i, j); j++) { obj(i) += j; push(Q, hash(), p.second); obj(i) -= j; }
			for(j = -1; legal(i, j); j--) { obj(i) += j; push(Q, hash(), p.second); obj(i) -= j; }
		}
	}
	
	return MAX;
}
inline void push(queue<pii>& Q, int state, int step)
{
	if(vst.test(state)) return;
	Q.push(pii(state, step+1)); vst.set(state);
}
inline bool legal(int o, int step)
{
	int r = pos[o][0], c = pos[o][1], &x = vehdir[o] ? c : r;
	x += step;
	if(step > 0) x += len[o]-1;
	if(x < 0 || x >= L_MAX) return false;
	return field[r][c] == '.';
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久精品| 91免费观看视频| 欧美zozozo| 国产米奇在线777精品观看| 精品国产第一区二区三区观看体验| 蜜臀国产一区二区三区在线播放| 日韩一级免费一区| 国产精品一二三四五| 亚洲国产精华液网站w| av激情综合网| 亚洲成人激情社区| 日韩欧美中文一区二区| 高清免费成人av| 亚洲精品你懂的| 日韩欧美另类在线| 夫妻av一区二区| 一区二区三区欧美| 欧美一区二区三区四区高清| 国产一区二区不卡| 中文字幕中文在线不卡住| 欧美三级日韩三级| 国产精品69久久久久水密桃| 国产精品人成在线观看免费| 色婷婷精品大视频在线蜜桃视频| 五月婷婷激情综合网| 久久久精品日韩欧美| 色哟哟一区二区| 精品一区二区三区免费| 亚洲免费资源在线播放| 日韩视频中午一区| 99精品偷自拍| 天天综合天天做天天综合| 久久精品欧美一区二区三区麻豆| kk眼镜猥琐国模调教系列一区二区 | 国产福利精品一区| 亚洲男同性恋视频| 久久综合色之久久综合| 一本色道久久综合亚洲aⅴ蜜桃 | 精品久久久久香蕉网| av中文字幕不卡| 久久99精品久久久| 一区二区三区色| 欧美激情在线免费观看| 日韩一级黄色片| 色噜噜夜夜夜综合网| 国产一区二三区| 天天综合色天天| 亚洲欧美一区二区视频| 亚洲精品一区在线观看| 777xxx欧美| 色婷婷久久久亚洲一区二区三区| 国产精品一区二区在线看| 视频一区中文字幕国产| 一区二区三区国产精品| 国产精品美女久久久久久久| 精品对白一区国产伦| 欧美精品一二三区| 色8久久人人97超碰香蕉987| 成人久久视频在线观看| 国产在线乱码一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 一区二区三区四区精品在线视频| 亚洲国产激情av| 国产视频视频一区| 国产亚洲制服色| 久久日一线二线三线suv| 日韩欧美国产1| 91精品国产一区二区人妖| 欧美日韩一区二区三区免费看 | 国产麻豆成人传媒免费观看| 日本成人在线看| 亚洲成av人**亚洲成av**| 一区二区三区中文免费| 自拍偷拍亚洲综合| 国产精品久久毛片| 欧美激情在线观看视频免费| 国产亚洲精品中文字幕| 国产亲近乱来精品视频| 久久久精品影视| 国产日韩欧美激情| 国产欧美综合色| 中文字幕不卡在线| 中文天堂在线一区| 亚洲天堂福利av| 亚洲人成亚洲人成在线观看图片| 中文字幕一区二区三区在线播放 | 精品国产乱码91久久久久久网站| 日韩精品一区在线观看| 欧美精品一区二区久久久| 久久久777精品电影网影网 | 亚洲视频每日更新| 亚洲免费观看视频| 亚洲1区2区3区4区| 免费观看成人av| 国产一区二区三区蝌蚪| 丁香激情综合国产| 91丨porny丨户外露出| 欧美在线免费播放| 欧美高清你懂得| 久久久美女毛片| 中文字幕在线播放不卡一区| 一区二区三区中文字幕精品精品| 日韩中文字幕不卡| 国产一区三区三区| 91亚洲午夜精品久久久久久| 欧美性xxxxxxxx| 日韩久久久精品| 中文字幕一区二区不卡| 亚洲第一二三四区| 国产一区二区h| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩一级二级三级| 久久精品人人做人人爽人人| 亚洲人123区| 美洲天堂一区二卡三卡四卡视频 | 波多野结衣亚洲一区| 色婷婷av久久久久久久| 精品少妇一区二区三区| 亚洲欧美另类在线| 黄色成人免费在线| 91色九色蝌蚪| 精品国产一二三区| 亚洲午夜久久久久久久久久久| 九一久久久久久| 色一区在线观看| 久久亚洲一区二区三区四区| 一区二区三区在线不卡| 国产在线播放一区| 欧美三级电影在线看| 国产网站一区二区| 日本大胆欧美人术艺术动态| eeuss鲁片一区二区三区在线看| 欧美猛男男办公室激情| 中文字幕欧美国产| 韩国女主播成人在线观看| 欧美日本韩国一区二区三区视频| 国产精品丝袜黑色高跟| 蜜桃传媒麻豆第一区在线观看| 欧洲中文字幕精品| 亚洲欧洲国产专区| 韩国中文字幕2020精品| 欧美日韩免费一区二区三区| 国产精品麻豆欧美日韩ww| 狠狠色狠狠色综合日日91app| 欧美日韩国产首页| 亚洲免费色视频| 成人免费不卡视频| 国产午夜亚洲精品羞羞网站| 麻豆91精品91久久久的内涵| 欧美日韩中字一区| 亚洲女同女同女同女同女同69| 国产精品一区二区三区99| 日韩一级片在线播放| 日韩电影在线免费看| 欧美日本一区二区| 一区二区国产视频| 日本黄色一区二区| 最新国产の精品合集bt伙计| 国产成人精品影视| 国产色91在线| 国产成人超碰人人澡人人澡| 精品国产91久久久久久久妲己| 日本欧美大码aⅴ在线播放| 欧美精品99久久久**| 亚洲www啪成人一区二区麻豆| 色婷婷av一区二区| 亚洲综合一二区| 在线观看亚洲a| 亚洲一区av在线| 欧美日韩一区视频| 亚洲bdsm女犯bdsm网站| 在线电影国产精品| 视频一区在线播放| 日韩免费成人网| 激情图片小说一区| 国产网站一区二区三区| 成人18视频日本| 亚洲欧美日韩国产手机在线| 91丨porny丨国产| 一二三四区精品视频| 欧美日韩精品系列| 日韩av一二三| 欧美mv和日韩mv的网站| 国产福利精品导航| 亚洲色图一区二区三区| 欧美视频一区在线| 麻豆国产欧美日韩综合精品二区| 欧美不卡一区二区三区四区| 激情综合色综合久久| 国产日产欧美一区| 色一情一乱一乱一91av| 日韩电影免费在线看| 精品999久久久| 99精品久久免费看蜜臀剧情介绍| 亚洲精品一二三四区| 日韩亚洲国产中文字幕欧美| 国产一区视频导航| 亚洲欧美一区二区三区孕妇| 91精品国产入口在线| 国产aⅴ综合色|