Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> gr[20] ;
- bool vis[20];
- int fa[20];
- int st,en,rot;
- int angle[20][20],dis[20][20];
- string ans;
- void bfs(int u)
- {
- queue <int> q;
- q.push(u);
- fa[u]=-1;
- while(!q.empty())
- {
- u=q.front();
- q.pop();
- if(vis[u])continue;
- vis[u]=true;
- for(int i=0;i<gr[u].size();i++)
- {
- int v=gr[u][i];
- if(vis[v])continue;
- q.push(v);
- fa[v]=u;
- }
- }
- vector <int> trace;
- for(u=en;fa[u]!=-1;)
- {
- trace.push_back(u);
- u=fa[u];
- }
- trace.push_back(st);
- for(int i=trace.size()-1;i>0;i--)
- {
- if (rot == angle[trace[i]][trace[i-1]]){}
- else if(abs(rot-angle[trace[i]][trace[i-1]]) < abs(-rot+angle[trace[i]][trace[i-1]]) )
- {
- ans=ans+'R';
- if(rot-angle[trace[i]][trace[i-1]] <0)
- ans=ans+'-';
- else
- ans=ans+'+';
- ans=ans+char('0'+ abs(rot-angle[trace[i]][trace[i-1]])/100);
- ans=ans+char('0'+ (abs(rot-angle[trace[i]][trace[i-1]])/10)%10 );
- ans=ans+char('0'+ abs(rot-angle[trace[i]][trace[i-1]])%10);
- }
- else
- {
- ans=ans+'R';
- if(-rot+angle[trace[i]][trace[i-1]] <0)
- ans=ans+'-';
- else
- ans=ans+'+';
- ans=ans+char('0'+ abs(-rot+angle[trace[i]][trace[i-1]])/100);
- ans=ans+char('0'+ (abs(-rot+angle[trace[i]][trace[i-1]])/10)%10 );
- ans=ans+char('0'+ abs(-rot+angle[trace[i]][trace[i-1]])%10);
- }
- rot=angle[trace[i]][trace[i-1]];
- ans=ans+'F';
- ans=ans+char('0'+ dis[trace[i]][trace[i-1]]);
- }
- cout << ans << endl ;
- }
- int main()
- {
- int x,y;
- int ang,d;
- int n , m ;
- cin >> n >> m ;
- for(int i=0;i<m;i++)
- {
- cin >> x >>y >> ang >> d ;
- gr[x].push_back(y);
- angle[x][y]=ang;
- dis[x][y]=d;
- }
- cout << "---------------------\n";
- cin >> st >> en >> rot;
- bfs(st);
- return 0;
- }
- /*
- 9 14
- 1 4 90 3
- 2 1 -45 2
- 3 1 -135 2
- 4 2 -135 2
- 4 3 -45 2
- 4 7 90 2
- 5 2 -90 2
- 6 3 -90 2
- 7 5 -135 2
- 7 6 -45 2
- 7 8 135 2
- 7 9 45 2
- 8 5 -90 3
- 9 6 -90 3
- 1 6 45
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement