Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
我这么写有错吗? ;-(状态是 2^24 以1,2,3分别作为中间环的可能值,同则为1,不同为0 1 1 1 1 3 2 3 2 3 1 3 2 2 3 1 2 2 2 3 1 2 1 3 3 起始三个状态为: 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 在状态hash时,state是状态,path是操作序列 bool make_hash() { if (hash[state] == -1 || hash[state]>path) { hash[state] = path; return true; } return false; } 这样我用A*可以过的 但是我在优先队列这样写就WA了 while (! pq.empty()) { NODE now = pq.top(); pq.pop(); // 加了下面2句就WA if (hash[now.state] < now.path) continue; .... } 请教大牛们~~~~ 竟然hash时都可以那样的判断,问什么在外部加这个就WA了,~~~~郁闷 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator