Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- vector<int >node[2001];
- int vis[2001];
- int level[2001];
- void bfs(int n){
- queue<int>q;
- q.push(n);
- vis[n]=1;
- level[n]=0;
- while(!q.empty()){
- int x=q.front();
- q.pop();
- for(int i=0;i<node[x].size();i++){
- int u=node[x][i];
- if(vis[u])continue;
- vis[u]++;
- level[u]=level[x]+1;
- q.push(u);
- }
- }
- }
- int main()
- {
- int n,x,y;
- cin>>n>>x>>y;
- map<int ,int>mp;
- node[y].push_back(x);
- node[x].push_back(y);
- for(int i=1;i<n;i++){
- node[i].push_back(i+1);
- node[i+1].push_back(i);
- }
- for(int i=1;i<n;i++){
- bfs(i);
- for(int j=i+1;j<=n;j++){
- int p=level[i];
- mp[p]++;
- }
- memset(vis,0,sizeof(vis));
- memset(level,0,sizeof(level));
- }
- for(int i=1;i<n;i++){
- cout<<mp[i]<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement