Solution report
Ideas:
Solution:
P: A-B = x
V: A-B> = 1
Equation
#include <iostream>#include <cstring>#include <cstdio>#include <queue>#define inf 0x3f3f3f3fusing namespace std;struct node{ int v,w,next;} edge[220000];int head[1111],dis[1111],vis[1111],coun[1111],cnt,n,m,s,t,f;void add(int u,int v,int w){ edge[cnt].v=v; edge[cnt].w=w; edge[cnt].next=head[u]; head[u]=cnt++;}void spfa(){ for(int i=0;i<=n;i++) { dis[i]=inf; vis[i]=0; } dis[s]=0; vis[s]=1; queue<int >Q; Q.push(s); while(!Q.empty()) { int u=Q.front(); Q.pop(); vis[u]=0; for(int i=head[u];i!=-1;i=edge[i].next) { int v=edge[i].v; if(dis[v]>dis[u]+edge[i].w) { dis[v]=dis[u]+edge[i].w; if(!vis[v]) { coun[v]++; if(coun[v]>n) { f=1; break; } vis[v]=1; Q.push(v); } } } }}int main(){ int i,j,u,v,w; char ch[10]; while(~scanf("%d%d",&n,&m)) { s=f=0; memset(head,-1,sizeof(head)); memset(coun,0,sizeof(coun)); cnt=0; for(i=0; i<m; i++) { scanf("%s%d%d",ch,&u,&v); if(ch[0]=='P') { scanf("%d",&w); add(v,u,w); add(u,v,-w); } else { add(u,v,-1); } } for(i=1; i<=n; i++) { add(0,i,0); } spfa(); if(f) printf("Unreliable\n"); else printf("Reliable\n"); } return 0;}
Is the information reliable?
Time limit:3000 Ms |
|
Memory limit:131072 K |
Total submissions:11068 |
|
Accepted:3463 |
Description
The Galaxy war between the Empire Draco and the commonwealth of zibu broke out 3 years ago. DRACO established a line of defense called grot. grot is a straight lineNDefense stations. Because of the cooperation of the stations, zibu's marine glory cannot march any further but stay outside the line.
A mystery Information Group x benefits form selling information to both sides of the war. today you the administrator of zibu's intelligence department got a piece of information about grot's defense stations 'Arrangement from Information Group X. your task is to determine whether the information is reliable.
The information consistsMTips. Each tip is either precise or vague.
Precise tip is in the formP A B X
, Means Defense StationAIsXLight-years north of Defense StationB.
Vague tip is in the formV A B
, Means Defense StationAIs in the north of Defense StationB, At least 1 light-year, but the precise distance is unknown.
Input
There are several test cases in the input. Each test case starts with two integersN(0 <N≤ 1000) andM(1 ≤M≤ 100000). The nextMLine each describe a tip, either in precise form or vague form.
Output
Output one line for each test case in the input. Output "reliable" if it is possible to arrangeNDefense stations satisfying allMTips, otherwise output "unreliable ".
Sample Input
3 4P 1 2 1P 2 3 1V 1 3P 1 3 15 5V 1 2V 2 3V 3 4V 4 5V 3 5
Sample output
UnreliableReliable
Source
Poj monthly -- 2006.08.27, dagger
Poj Training Plan 2983_is the information reliable? (Differential constraint)