题目:
题目描述
奶牛贝茜想到一个更温暖的地方去度过这个寒冷的冬天。不幸的是,她发现只有一家名叫AB的航空公司愿意把票卖给奶牛,而且这些票的构成很奇怪。AB有N架飞机,每架都有一个特定飞行路线,这个飞行路线包含2个或更多的城市。例如,一架飞机的路线可能是从城市1开始,然后飞到城市6,再飞到城市2,最后飞到城市8。没有城市会在一条路线上出现多次。如果贝茜决定使用这个路线,她可以在一条路线的任意一个城市上飞机,然后在路线上任意一个城市下飞机。她不用一定在第一个城市上 飞机,在最后一个城市下飞机。每条路线会有一个价格,不管贝茜沿途经过多少城市,她都要付这么多钱。
贝茜想找到最近的从城市A到城市B的距离。由于她不想被复杂的行程困惑,她想只使用一条单独的路线。请帮她决定她最少应该付多少钱。
输入输出格式
输入格式:
第1行包含3个数字A、B、N。
下面的2N行,描述可用的路线,每条路线的描述占两行。第一条路线包含路线费用,自己沿途有多少个城市(不超过500个)。第2行包含一个按顺序的城市的列表。
输出格式:
输出贝茜用一条飞行路线从城市A飞到城市B的最小费用。如果没有这样的路线,输入“-1”。
输入输出样例
输入样例#1:
1 2 3
3 3
3 2 1
4 4
2 1 4 3
8 5
4 1 7 8 2
输出样例#1:
8
题目链接:贝茜的飞行路线(算了团队私题您们也打不开)
思路:
乍一看像是一道图论,仔细一看发现这只是一道模拟题,暴力枚举就可以过了…
思路:
#include<bits/stdc++.h>
using namespace std;
int main() {
int T;
scanf("%d",&T);
while(T--) {
int a,b;
scanf("%d%d",&a,&b);
bool ans=1;
if(a<b) swap(a,b);
if(a>=2*b) {
ans=0;
goto tag;
}
while(b!=0) {
ans^=1;
if(a>=2*b) goto tag;
a-=b;
swap(a,b);
}
tag: if(ans==0) printf("Stan wins\n");
else printf("Ollie wins\n");
}
return 0;
}
今天的文章贝茜的飞行路线_波西亚时光 阿尔洛[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/68487.html