博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[图论]在农场万圣节Trick or Treat on the Farm
阅读量:4623 次
发布时间:2019-06-09

本文共 1144 字,大约阅读时间需要 3 分钟。

在农场万圣节Trick or Treat on the Farm

Description

每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节。

由于牛棚不太大,FJ通过指定奶牛必须遵循的穿越路线来确保奶牛的乐趣。为了实现这个让奶牛在牛棚里来回穿梭的方案,FJ在第i号隔间上张贴了一个“下一个隔间”Next_i(1<=Next_i<=N),告诉奶牛要去的下一个隔间;这样,为了收集它们的糖果,奶牛就会在牛棚里来回穿梭了。

FJ命令奶牛i应该从i号隔间开始收集糖果。如果一只奶牛回到某一个她已经去过的隔间,她就会停止收集糖果。

在被迫停止收集糖果之前,计算一下每头奶牛要前往的隔间数(包含起点)。

Input

第1行 整数n。

第2行到n+1行 每行包含一个整数 next_i 。

output

n行,第i行包含一个整数,表示第i只奶牛要前往的隔间数。

Examples

Input

4

1
3
2
3

Output

1

2
2
3

 

正确解法:

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 using namespace std;12 typedef long long ll;13 const int N=100000+100;14 int Link[N],len=0,bok[N];15 int n,yy,ans[N],que[N];16 struct student17 {18 int y,next;19 }e[N];20 void insert(int xx,int yy)21 {22 e[++len].next=Link[xx];23 Link[xx]=len;24 e[len].y=yy;25 }26 int bfs(int x)27 {28 memset(bok,0,sizeof(bok));29 int head=1,tail=2;30 ans[x]++;31 que[head]=x;32 bok[x]=1;33 while(head
暴力40分的code

 

转载于:https://www.cnblogs.com/Kaike/p/10461544.html

你可能感兴趣的文章
关于苹果APP的上架整理
查看>>
Java continue的特殊用法 继续当前循环
查看>>
HDU 1988 Cube Stacking (数据结构-并查集)
查看>>
iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期...
查看>>
爬虫篇
查看>>
多线程(四)线程生命周期和线程池
查看>>
fetch的用法
查看>>
2017.08.11【NOIP提高组】模拟赛B组 小X的佛光
查看>>
【转】[精华] 跟我一起写 Makefile
查看>>
排序俩种方法
查看>>
MVC 三级联动
查看>>
JPA 已作废的SQLQuery.class、setResultTransformer方法替换
查看>>
20190402——第一场UPC团队训练
查看>>
爱奇艺视频广告拦截失败,发文共商大计
查看>>
洛谷1144 最短路计数
查看>>
BZOJ 1207: [HNOI2004]打鼹鼠
查看>>
堆排序
查看>>
android下网络通信流程
查看>>
Spring+shiro session与线程池的坑
查看>>
Python基础学习笔记02之list
查看>>