小王到某城市,时间只有一天了,但小王很想到该城市的著名大景区游玩,该城市的著名大景区内共有N(超过10)个景点,标号为1至N,假设每个景点都有一个进出口。现在只知道每个景点有一条路连接下一个景点。小王想知道,根据这些道路信息,从其中一个景点出发,最后再回到出发景点离开,最多能游玩多少个景点。
例如,共有N=5个景点,每个景点连接的下一个景点分别是2,4,2,3,1。
景点号 | 1 | 2 | 3 | 4 | 5 |
下一景点号 | 2 | 4 | 2 | 3 | 1 |
PrivateSubCommand1_Click
( )
( )
Dima(1To100)AsInteger,d(1To100)AsInteger'数组a存放下一景点号
DimjdAsString,mAsString,cAsInteger,iAsInteger
DimsAsInteger,pAsInteger,kAsInteger,ansAsInteger
jd=Text1.Text+“,“
s=0:c=0
Fori=1ToLen(jd)
m=Mid(jd,i,1)
Ifm<>“,“Then
①
s=s*10+val(m)
s=s*10+val(m)
Else
c=c+1:a(c)=s:s=0
EndIf
Nexti
Fork=1To100d(k)=0
Nextkans=0:k=0
Fori=1Toc'枚举起点
Ifd(i)=0Thenp=i
DoWhilep<=c
Ifd(p)=0Then
k=k+1:d(p)=k
Else
②
y=k-c-1
y=k-c-1
Ify>ansThenans=yk=0
ExitDo
EndIf

Loop
EndIf
NextiText2.Text=Str(ans)
EndSub
(1)若有7个景点,且每个景点的连接情况为:6,3,5,2,7,5,4,那么小王最多可以游玩的景点数是
5
5
。(2)程序代码中,程序①②填空
①
s=s*10+val(m)
s=s*10+val(m)
②
y=k-c-1
y=k-c-1
(3)程序代码中,加框处代码有错,请改正。
改正
p=a(p)
p=a(p)
【考点】枚举算法及程序实现.
【答案】( );s=s*10+val(m);y=k-c-1;5;s=s*10+val(m);y=k-c-1;p=a(p)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/4/20 14:35:0组卷:4引用:1难度:0.3
相似题
-
1.以下问题,适合用枚举法解决的是( )
发布:2024/11/8 11:30:1组卷:2引用:1难度:0.8 -
2.如果一个4位数恰好等于它的各位数字的4次方和,则这个数被称为“玫瑰花”数。例如1634就是一个玫瑰花数:1634=14+64+34+44。如果要求出所有的玫瑰花数,下列算法合适的是( )
发布:2024/11/16 22:30:5组卷:7引用:2难度:0.5 -
3.若一个三位数abc,满足abc=a3+b3+c3,则称abc为水仙花数。如三位数153满足13+53+33=1+125+27=153,则153是水仙花数。请把所有满足条件的水仙花数输出。
(1)分析问题。由题意可知,三位数的范围是100~999,我们可以让计算机一一检查每一个三位数,输出其中的水仙花数。设百位数字、十位数字、个位数字分别是a,b,c(0<a≤9,0≤b≤9,0≤c≤9),这个三位数就可以表示为100×a+10×b+c,如果它正好等于各位数字的立方和,那么它就是水仙花数。
(2)设计算法。
①令a从1~9穷举;
②令b从0~9穷举;
③令c从0~9穷举;
④如果100×a+10×b+c和a3+b3+c3相等,那么就把它输出。
⑤转步骤③,重复执行③④⑤,直到c穷举完毕;
⑥转步骤②,重复执行②③④⑤⑥,直到b穷举完毕;
⑦转步骤①,重复执行①②③④⑤⑥⑦,直到a穷举完毕;
⑧跳出循环,结束。
(3)编写程序。
(4)调试程序。发布:2024/8/7 8:0:9组卷:1引用:0难度:0.4