Решение задачи Кольцевое метро с Codeforces

Без пояснения   Просмотров: 59


На кольцевой линии метро Рофланполиса есть n станций.

В этом метро есть два параллельных маршрута. Первый посещает станции в порядке 1→2→…→n→1→2→… (следующая остановка после станции x равна (x+1), если x1, и n иначе). Все поезда отправляются со своих станций одновременно, путь до следующей станции занимает ровно 1 минуту.

Две жабы живут в этом городе, их зовут Дэниел и Влад.

Дэниел в данный момент находится в поезде первого маршрута на станции a и выйдет из метро, когда его поезд прибудет на станцию x.

По удивительному совпадению, Влад в данный момент находится в поезде второго маршрута на станции b и выйдет из метро, когда его поезд прибудет на станцию y.

Также оказалось, что все числа a,x,b,y различны.

Жаба Илья просит вас проверить, будут ли когда-либо Дэниел и Влад одновременно на одной станции во время их поездки. Иначе говоря, проверьте, остановятся ли когда-либо их поезда на одной и той же станции в один и тот же момент времени. Обратите внимание, что моменты, когда Дэниел или Влад заходят или выходят из метро, тоже необходимо учитывать.

Код

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,a,x,b,y;
	cin>>n>>a>>x>>b>>y;
	bool ok=0;
	while (x!=a && b!=y) {
		if (a==b) ok=1;
		a++; if (a>n) a=1;
		b--; if (b<1) b=n;
		if (a==b) ok=1;
	}
	printf("%s\n",ok?"YES":"NO");
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться