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 |
哎。。STL的优先级队列的比较函数和sort是反得。。我晕。。附AC代码Source Code Problem: 1135 User: yzhw Memory: 728K Time: 0MS Language: G++ Result: Accepted Source Code # include <iostream> # include <vector> # include <cstdio> # include <cstring> # include <algorithm> # include <queue> using namespace std; int n,m; struct node { int t,p; }; vector<node> data[501]; int len[501]; class cmp { public: bool operator()(const int a,const int b) const { return len[a]>len[b]; } }; void caldis() { bool used[501]; for(int i=1;i<=n;i++) len[i]=9999999; memset(used,0,sizeof(used)); len[1]=0; priority_queue<int,vector<int>,cmp> q; q.push(1); while(!q.empty()) { int pos=q.top(); q.pop(); used[pos]=1; for(int i=0;i<data[pos].size();i++) if(!used[data[pos][i].t]&&len[data[pos][i].t]>len[pos]+data[pos][i].p) { len[data[pos][i].t]=len[pos]+data[pos][i].p; q.push(data[pos][i].t); } } } int main() { int tc=1; while(true) { cin>>n>>m; if(!n&&!m) break; for(int i=1;i<=n;i++) data[i].clear(); for(int i=1;i<=m;i++) { int f,t; node tmp; cin>>f>>t>>tmp.p; tmp.t=t; data[f].push_back(tmp); tmp.t=f; data[t].push_back(tmp); } caldis(); int ans=1,a1,a2; bool flag=false; double maxnum=0; for(int i=1;i<=n;i++) if(len[i]>maxnum) maxnum=len[i],ans=i; for(int i=1;i<=n;i++) for(int j=0;j<data[i].size();j++) if(abs(len[i]-len[data[i][j].t])<data[i][j].p) { double total=0; int d=abs(len[i]-len[data[i][j].t]); total=min(len[i],len[data[i][j].t])+d+(data[i][j].p-d)/2.0; if(total>maxnum) { maxnum=total; flag=true; a1=min(i,data[i][j].t); a2=max(i,data[i][j].t); } } printf("System #%d\n",tc++); if(flag) printf("The last domino falls after %.1f seconds, between key dominoes %d and %d.\n\n",maxnum,a1,a2); else printf("The last domino falls after %.1f seconds, at key domino %d.\n\n",maxnum,ans); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator