Codeforces Round #203(Div. 2)B. Resort
来源:互联网 发布:手机做广告软件 编辑:程序博客网 时间:2024/05/18 01:22
题目大意:给你两组数,第一组:0表示山,1表示宾馆。第二组:表示第i个点与第a[i]个点是相连的。求:一条路径,有且只有终点是宾馆,并且为了不迷路,所选取的点只有一条路可走。
题目分析:既然给了最后一定是宾馆,暴力,找到每一个宾馆,然后倒序找回去,注意退出条件即可。
AC代码:
#include<cstdio>#include<cstring>const int mmax=100005;int ss[mmax],map[mmax];int ok[mmax],ans[mmax];int path[mmax];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(ok,0,sizeof ok); for(int i=1;i<=n;i++) scanf("%d",&ss[i]); for(int i=1;i<=n;i++) { scanf("%d",&map[i]); ok[map[i]]++; ///记录这个点是否是单条路线的点 } int anse=0; for(int i=1;i<=n;i++) { if(ss[i]==1) { int e=0,t=i; path[e++]=t; while(map[t]!=0 && ok[map[t]]<2) ///两个退出条件 { path[e++]=map[t]; t=map[t]; } if(e>anse) { anse=e; for(int j=0;j<anse;j++) ans[j]=path[j]; } } } printf("%d\n",anse); for(int i=anse-1;i>=0;i--) printf("%d ",ans[i]); puts(""); } return 0;}
- Codeforces Round #203 (Div. 2) B. Resort
- Codeforces Round #203(Div. 2)B. Resort
- Round #203 (Div. 2)B------Resort
- Codeforces 350B Resort
- Codeforces Round #203 (Div. 2)B
- codeforces 350B Resort 链表
- Codeforces Round #131 (Div. 2) A B
- Codeforces Round #134 (Div. 2)B. Airport
- Codeforces Round #170 (Div. 2) problem B
- Codeforces Round #173 (Div. 2) Problem B
- Codeforces Round #181 (Div. 2) B. Coach
- Codeforces Round #185 (Div. 2)--A,B
- Codeforces Round #171 (Div. 2) B
- Codeforces Round #169 (Div. 2) B题
- Codeforces Round #188 (Div. 2) B题
- Codeforces Round #192 (Div. 2) B
- Codeforces Round #206 (Div. 2) - b
- Codeforces Round #202 (Div. 2)B-贪心
- warning C4996: “strcpy”被声明为否决的解决办法
- Linux设备驱动学习
- POJ 1002 487-3279(水题)
- 跳槽这半年的小结-加油,坚持下来 战胜懒惰。
- grep 常用命令
- Codeforces Round #203(Div. 2)B. Resort
- android面试题:请介绍下Android中常用的五种布局
- linux中单引号、双引号、反引号的作用
- Eclipse中自动载入WEB-INF/lib下jar包的方法
- UISearchBar背景透明,去掉背景,自定义背景(转)
- OLTP和OLAP小结
- Java中IOUtils
- 十进制、十六进制、bcd互转
- 【Java Web】: 使用 Telnet 远程连接服务器端与 Tomcat 服务器的搭建