Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2015, 09:40   #11
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Придумал. Мы не будем делить срзк на c. Мы просто сделаем с в ответе рввное тому что было * на старое значение c
Poma][a вне форума Ответить с цитированием
Старый 05.01.2015, 10:16   #12
isst
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 85
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Придумал. Мы не будем делить срзк на c. Мы просто сделаем с в ответе рввное тому что было * на старое значение c
А Вы где ее сдавали? Я - на informatics.mccme.ru задача 1753
isst вне форума Ответить с цитированием
Старый 05.01.2015, 10:30   #13
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Там же..
У кого-нить есть идеи по поводу решения проблемы с с, не прибегая к вещественным числам?
Poma][a вне форума Ответить с цитированием
Старый 05.01.2015, 11:14   #14
isst
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 85
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Там же..
У кого-нить есть идеи по поводу решения проблемы с с, не прибегая к вещественным числам?
Насчет времени выполнения - может быть, дело в функции НОДа?
isst вне форума Ответить с цитированием
Старый 05.01.2015, 11:51   #15
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Кстати.. Чёйта у меня выходит, что всегда ответом является такие a, b, c, что a = b, с = 11 * (n-1).. Только еще сокращаем b и с
Poma][a вне форума Ответить с цитированием
Старый 05.01.2015, 13:08   #16
isst
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 85
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Кстати.. Чёйта у меня выходит, что всегда ответом является такие a, b, c, что a = b, с = 11 * (n-1).. Только еще сокращаем b и с
А a = b = чему? То есть какое выражение для a и b?
isst вне форума Ответить с цитированием
Старый 05.01.2015, 14:32   #17
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А вот не знаю..
Думаю, можно доказать.. но мне пока слабо..

Но у меня получается так.. я просто позапускал программку, которая блин не работает, на разных тестах..
Poma][a вне форума Ответить с цитированием
Старый 05.01.2015, 19:18   #18
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
//#include <fstream>
#include <iostream>

using namespace std;

//ifstream cin("input.txt");
//ofstream cout("a.txt");

long long gcd(long long a, long long b)
{
	while (a*b != 0)
		if (a > b)
			a %= b;
		else
			b %= a;
	return a + b;
}


int main()
{
	long long k;
	cin >> k;

	for (long long i = 0; i < k; i++)
	{
		long long n, a, b, c;
		cin >> n >> a >> b >> c;
		double t = (a*c + b)*60.0 / c;

		long long j = (long long) t*(n - 1) / (60 * n);
		long long v = 60 * (j + 1)*n;// / (n - 1);
		a = v / 60 / (n-1) % n;
		b = v/60%(n-1); c = n-1;
		
		long long g = gcd(b, c);
		c /= g; b /= g;		
		cout << a << " " << b << " " << c << endl;
	}

}
Вот еще вариант.. Снова только 7..
Poma][a вне форума Ответить с цитированием
Старый 05.01.2015, 19:37   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну, а так, функцию NOD подставте
Код:
var a,b,c,b1,c1: Int64;
    k,n,i,j: Longint;

begin
  readln(k);
  for i:=1 to k do begin
    readln(n,a,b,c);
    if a=0 then begin a:=1; b:=0; c:=1; end;
    if a<n-1 then begin
      c1:=n-1;
      b1:=(a*n) mod c1;
      if b1*c<=b*c1 then begin
        Inc(a);
        b1:=(a*n) mod c1;
      end;
    end;
    if a=n-1 then begin a:=0; b:=0; c:=1; end
    else begin
      j:=NOD(c1,b1);
      b:=b1 div j;
      c:=c1 div j;
    end;
    writeln(a,' ',b,' ',c);
  end;
end.
Ромаха, 60 зачем? Не важно сикока минут в часе, важно что время совпадения: t(i) =i*N/(N-1) где i=1..N-1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 05.01.2015 в 19:49.
Аватар вне форума Ответить с цитированием
Старый 05.01.2015, 19:47   #20
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Ну, а так, функцию NOD подставте
Код:
Зашло
Цитата:
Ромаха, 60 зачем?
Посути да..
Эт так.. я расписывал как это делал Андрей.. Там сначала шло умножение на 60.. потом деление на 60.. я забил и решил оставить..

Косяк свой я тоже нашел.. Он все из-за той же с.. и из-за него я неправильно определяю а..
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часики Rost93 JavaScript, Ajax 2 13.11.2011 02:13
Часики TuneK Помощь студентам 0 15.04.2009 20:10
Часики на Ассемблере -=Hellsing-= Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 07.02.2009 11:14
Зацените Часики. Vemer Софт 2 01.02.2009 11:08
Задачка про часики. RealSHELS Паскаль, Turbo Pascal, PascalABC.NET 2 13.09.2008 18:17