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 |
同学,直接广搜就好了In Reply To:又要贴代码了,加起来WA不下50次,求救啊!!! Posted by:qywyh at 2006-03-27 21:20:45 > #include <iostream> > using namespace std; > > int status[100000][101]; > int flag[200000]; > int deque[200000]; > > int main() > { > > int caseNum; > int eachCaseNum; > int i, j, p, q; > int beg, end, tmpBeg; > int ans; > bool dFlag; > > while (scanf("%d", &caseNum) != EOF) > { > for (i=0; i<caseNum; i++) > { > scanf("%d", &eachCaseNum); > scanf("%d", &eachCaseNum); > status[i][0] = eachCaseNum; > for (j=1; j<=eachCaseNum; j++) > { > scanf("%d", &status[i][j]); > } > } > > scanf("%d", &beg); > scanf("%d", &end); > tmpBeg = beg; > > memset(flag, 0, 200000); > memset(deque, 0, 200000); > > p = 0; > q = 0; > > flag[beg] = -1; > ans = 0; > dFlag = false; > > while (1) > { > for (i=1; i<=status[beg][0]; i++) > { > if (flag[status[beg][i]] != -1) > { > flag[status[beg][i]] = -1; > deque[q++] = status[beg][i]; > } > } > > if (!dFlag) > { > deque[q++] = -1; > dFlag = true; > } > > while (deque[p] == -1) > { > p++; > ans++; > dFlag = false; > } > > beg = deque[p++]; > > if (beg == end) > { > printf("%d %d %d\n", tmpBeg, end, ans); > break; > } > } > > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator