powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритмы
25 сообщений из 208, страница 3 из 9
Алгоритмы
    #39164286
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем хорошо. Выражение U степень понижает но в выражении V степень переходит
в знаменатель в одном из слагаемых ну вобщем дальше комплексность растёт
и я рискую просто допускать ошибки и опечатки.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164366
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

да, там в знаменателе башня с предыдущим значением сверху
...
Рейтинг: 0 / 0
Алгоритмы
    #39164377
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще конечно довольно странная задача.
У меня совсем нет уверенности, что из-за округлений не совпадут значения для разных башен.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovmayton,

да, там в знаменателе башня с предыдущим значением сверху
Проделайте пожалуйста шаги с разложением логарифма суммы.
Я признаю что не силён в подобных преобразованиях. Навыка мало.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164580
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAleksandr Sharahovmayton,

да, там в знаменателе башня с предыдущим значением сверху
Проделайте пожалуйста шаги с разложением логарифма суммы.
Я признаю что не силён в подобных преобразованиях. Навыка мало.

как-то так, если нигде опять не ошибся )
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
     b0  = a0

     b1  = a1^b0
 log(b1) = b0*log(a1)

     b2  = a2^b1
 log(b2) = b1*log(a2)
log2(b2) = log(b1) + log2(a2)

     b3  = a3^b2
 log(b3) = b2*log(a3)
log2(b3) = log(b2) + log2(a3)
log3(b3) = log(log(b2) + log2(a3)) = log2(b2) + c12, c12 = log(1+log2(a3)/log(b2))

     b4  = a4^b3
 log(b4) = b3*log(a4)
log2(b4) = log(b3) + log2(a4)
log3(b4) = log(log(b3) + log2(a4)) = log2(b3) + c13, c13 = log(1+log2(a4)/log(b3))
log4(b4) = log(log2(b3) + c13)     = log3(b3) + c23, c23 = log(1+    c13/log2(b3))

     b5  = a5^b4
 log(b5) = b4*log(a5)
log2(b5) = log(b4) + log2(a5)
log3(b5) = log(log(b4) + log2(a5)) = log2(b4) + c14, c14 = log(1+log2(a5)/log(b4))
log4(b5) = log(log2(b4) + c14)     = log3(b4) + c24, c24 = log(1+    c14/log2(b4))
log5(b5) = log(log3(b4) + c24)     = log4(b4) + c34, c34 = log(1+    c24/log3(b4))

     b6  = a6^b5
 log(b6) = b5*log(a6)
log2(b6) = log(b5) + log2(a6)
log3(b6) = log(log(b5) + log2(a6)) = log2(b5) + c15, c15 = log(1+log2(a6)/log(b5))
log4(b6) = log(log2(b5) + c15)     = log3(b5) + c25, c25 = log(1+    c15/log2(b5))
log5(b6) = log(log3(b5) + c25)     = log4(b5) + c35, c35 = log(1+    c25/log3(b5))
log6(b6) = log(log4(b5) + c35)     = log5(b5) + c45, c45 = log(1+    c35/log4(b5))

     b7  = a7^b6
 log(b7) = b6*log(a7)
log2(b7) = log(b6) + log2(a7)
log3(b7) = log(log(b6) + log2(a7)) = log2(b6) + c16, c16 = log(1+log2(a7)/log(b6))
log4(b7) = log(log2(b6) + c16)     = log3(b6) + c26, c26 = log(1+    c16/log2(b6))
log5(b7) = log(log3(b6) + c26)     = log4(b6) + c36, c36 = log(1+    c26/log3(b6))
log6(b7) = log(log4(b6) + c36)     = log5(b6) + c46, c46 = log(1+    c36/log4(b6))
log7(b7) = log(log5(b6) + c46)     = log6(b6) + c56, c56 = log(1+    c46/log5(b6))

     b8  = a8^b7
 log(b8) = b7*log(a8)
log2(b8) = log(b7) + log2(a8)
log3(b8) = log(log(b7) + log2(a8)) = log2(b7) + c17, c17 = log(1+log2(a8)/log(b7))
log4(b8) = log(log2(b7) + c17)     = log3(b7) + c27, c27 = log(1+    c17/log2(b7))
log5(b8) = log(log3(b7) + c27)     = log4(b7) + c37, c37 = log(1+    c27/log3(b7))
log6(b8) = log(log4(b7) + c37)     = log5(b7) + c47, c47 = log(1+    c37/log4(b7))
log7(b8) = log(log5(b7) + c47)     = log6(b7) + c57, c57 = log(1+    c47/log5(b7))
log8(b8) = log(log6(b7) + c57)     = log7(b7) + c67, c67 = log(1+    c57/log6(b7))

нумерация справа налево, все логарифмы по основанию 2, log2(n)=log(log(n)), log3(n)=log(log2(n)) и т.д.

...
Рейтинг: 0 / 0
Алгоритмы
    #39164807
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я придумал алгоритм сравнения:
2^(2^(2^2)) = 65536 что больше максимального 99, поэтому сравнивать надо только три последних уровня башни.

Т.е. берем высоту большей башни, добиваем меньшую единицами и сравниваем верхушки.

Например:
башня1 a^(b^(c^(d^e)))
башня2 f^(g^(h^i))
сравнить надо только c^(d^e) и h^(i^1)
...
Рейтинг: 0 / 0
Алгоритмы
    #39164819
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ придумал алгоритм сравнения:
2^(2^(2^2)) = 65536 что больше максимального 99, поэтому сравнивать надо только три последних уровня башни.

Т.е. берем высоту большей башни, добиваем меньшую единицами и сравниваем верхушки.

Например:
башня1 a^(b^(c^(d^e)))
башня2 f^(g^(h^i))
сравнить надо только c^(d^e) и h^(i^1)

Конечно, нижние уровни башни имеют гораздо меньший вес по сравнению с верхними,
но трех верхних уровней мало для верного сравнения, например:

99^98^2^2 > 2^99^2^2
...
Рейтинг: 0 / 0
Алгоритмы
    #39164825
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ придумал алгоритм сравнения:
2^(2^(2^2)) = 65536 что больше максимального 99, поэтому сравнивать надо только три последних уровня башни.
Ты что-то напутал в условии. Нам дано (максимум) 50 тысяч башен.
Каждая из которых может иметь высоту от 1 уровня до 10 уровней
максимум: 99^(99^(99^(99^(99^(99^(99^(99^(99^99))))))))
...
Рейтинг: 0 / 0
Алгоритмы
    #39164826
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovнапример:

99^98^2^2 > 2^99^2^2
Хорошо. А если 4 уровня?

Я к тому чтобы не искать логарифм суммы. 4 уровня можно так обсчитать
Код: sql
1.
(ln(ln(a1)) + ln(a2) * a3) ^ a4


но пятый уже не полезет в double
...
Рейтинг: 0 / 0
Алгоритмы
    #39164829
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то эта задача напоминает расчёты пределов или сходимости рядов.
Тоесть я хочу сказать что наша задача - не делать расчёт а эквивалентно преобразовать
две башни (две формулы) и оценить которая из них больше. Типа взять предел
соотношения. Там... или еще как-то.

А для оценки сойдет даже логарифм с его погрешностями. Думаю что это допустимо,
особенно когда речь идет не просто о больших а об астрономически-больших числах.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164830
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

для 4х уровней надо сравнить числа:
99^99^99^99^99^98^2^2^2
и 2^2^2^2^2^99^2^2^2
...
Рейтинг: 0 / 0
Алгоритмы
    #39164836
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, похоже 4х достаточно, если откидывать сверху одинаковые (после уравнивания высот)
...
Рейтинг: 0 / 0
Алгоритмы
    #39164842
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov, опечатка:

да, похоже 4х достаточно, если НЕ откидывать сверху одинаковые (после уравнивания высот)
...
Рейтинг: 0 / 0
Алгоритмы
    #39164875
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не взлетела идея с 4-мя последними. Ошибка на второй проверке.

Заслал туда код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace Test {
	public class Tower {
		public int num;
		public List<int> val = new List<int>();

		public double Head(int level) {
			if (level >= val.Count) return -1;
			double ret = Math.Log(Math.Log((double)val[level]));
			if (level + 3 < val.Count) {
				ret = ret + Math.Log(val[level + 1]) * Math.Pow(val[level + 2], val[level + 3]);
			}
			else if (level + 3 == val.Count) {
				ret = ret + Math.Log(val[level + 1]) * val[level + 2];
			}
			else if (level + 2 == val.Count) {
				ret = ret + Math.Log(val[level + 1]);
			}
			return ret;
		}

		public void Print() {
			Console.Write(num.ToString() + ": {");
			for (int i = 0; i < val.Count; i++) {
				if (i != 0) Console.Write(",");
				Console.Write(val[i]);
			}
			Console.WriteLine("}");
		}
	}

	public class TowerComparer : IComparer<Tower> {
		public int Compare(Tower t1, Tower t2) {
			int level = ((t1.val.Count > t2.val.Count) ? t1.val.Count : t2.val.Count) - 4;
			if (level < 0) level = 0;
			var h1 = t1.Head(level);
			var h2 = t2.Head(level);
			if(h1 > h2) {
				return 1;
			} else if(h1 < h2) {
				return -1;
			} else {
				return 0;
			}
		}
	}

	class Program {
		static void Main(string[] args) {
			var sr = new StreamReader("input.txt");
			int cnt = Int32.Parse(sr.ReadLine());
			var towers = new Tower[cnt];
			for(int i = 0; i < cnt; i++) {
				towers[i] = new Tower();
				towers[i].num = i + 1;
				var v = sr.ReadLine().Split(' ');
				for(int j = 0; j <= Int32.Parse(v[0]); j++) {
					int x = Int32.Parse(v[j+1]);
					if(x == 1) break;
					towers[i].val.Add(x);
				}
			}
			foreach(var t in towers) t.Print();
			Console.WriteLine("После сортировки");
			var tc = new TowerComparer();
			var sw = new StreamWriter("output.txt");
			foreach(var t in towers.OrderBy((s => s), tc)) {
				t.Print();
				sw.Write(t.num + " ");
			}
			sw.WriteLine("");
			sw.Close();
		}
	}
}


...
Рейтинг: 0 / 0
Алгоритмы
    #39164878
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе взлетела идея с 4-мя последними. Ошибка на второй проверке.


странно, а что не так сравнилось, известно?

Я тут набросал сравнение из интереса,
получилось довольно монструозно,
но отсылать не буду, чтобы не расстраиваться )

функция сравнения степенных башен
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
type
  TPowerTower= array of integer;

function ComparePowerTowers(a1, a2: TPowerTower): integer;
const
  epsilon= 1.0e-9;
var
  t1, t2: TPowerTower;
  i, j, len1, len2: integer;
  x1, x2: extended;
begin;
  len1:=Length(a1);
  len2:=Length(a2);
  if len1 or len2=0 then begin;
    Result:=0;
    exit;
    end;
  t1:=Copy(a1, 0, len1);
  t2:=Copy(a2, 0, len2);
  if len1<len2 then begin;
    SetLength(t1, len2);
    for i:=len1 to len2-1 do t1[i]:=1;
    len1:=len2;
    end;
  if len2<len1 then begin;
    SetLength(t2, len1);
    for i:=len2 to len1-1 do t2[i]:=1;
    len2:=len1;
    end;
  for i:=0 to len1-1 do if t1[i]<=1 then begin;
    for j:=i to len1-1 do t1[j]:=1;
    break;
    end;
  for i:=0 to len2-1 do if t2[i]<=1 then begin;
    for j:=i to len2-1 do t2[j]:=1;
    break;
    end;
  if (t1[0]=1) or (t2[0]=1) then begin;
    Result:=t1[0]-t2[0];
    exit;
    end;
  repeat;
    dec(len1);
    until (len1=0) or (t1[len1]<>t2[len1]);
  if len2-len1>=4 then len2:=len1+4
  else begin;
    len1:=len2-4;
    if len1<0 then len1:=0;
    end;
  if len1+4=len2 then begin;
    x1:=ln(ln(t1[len1])) + ln(t1[len1+1]) * exp(ln(t1[len1+2])*t1[len1+3]);
    x2:=ln(ln(t2[len1])) + ln(t2[len1+1]) * exp(ln(t2[len1+2])*t2[len1+3]);
    end
  else if len1+3=len2 then begin;
    x1:=ln(ln(t1[len1])) + ln(t1[len1+1]) * t1[len1+2];
    x2:=ln(ln(t2[len1])) + ln(t2[len1+1]) * t2[len1+2];
    end
  else if len1+2=len2 then begin;
    x1:=ln(t1[len1]) * t1[len1+1];
    x2:=ln(t2[len1]) * t2[len1+1];
    end
  else begin;
    x1:=t1[len1];
    x2:=t2[len1];
    end;
  if abs(x1-x2)/(abs(x1)+abs(x2)+epsilon)>epsilon then begin;
    if x1<x2 then Result:=-1 else Result:=1;
    exit;
    end;
  for i:=len1-1 downto 0 do begin;
    Result:=t1[i]-t2[i];
    if Result<>0 then exit;
    end;
  Result:=0;
  end;

...
Рейтинг: 0 / 0
Алгоритмы
    #39164881
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovстранно, а что не так сравнилось, известно?
не пишут.
Aleksandr SharahovЯ тут набросал сравнение из интереса,
получилось довольно монструозно,
но отсылать не буду, чтобы не расстраиваться )
...
Рейтинг: 0 / 0
Алгоритмы
    #39164889
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть пример INPUT/OUTPUT который подтвердит
что эти "рукописи" компилируются, работают и выдают
корректный резалт?

Просто не у всех тут есть компиллятор... Так ште...
...
Рейтинг: 0 / 0
Алгоритмы
    #39164893
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе взлетела идея с 4-мя последними. Ошибка на второй проверке.
Заслал туда код

Похоже не взлетела из-за того, что у тебя в коде нет понижения левела, когда верхние одинаковы.
Надо понижать до тех пор, пока среди 4х последних пар не будет найдена пара разных.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164901
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА есть пример INPUT/OUTPUT который подтвердит
что эти "рукописи" компилируются, работают и выдают
корректный резалт?

Просто не у всех тут есть компиллятор... Так ште...

Вот примеры выхода функции сравнения:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
a1 = 3 2 2 2 2 2 2 2 2
a2 = 2 2 2 2 2 2 2 2 2
Result = 1

a1 = 2 98 2 2 2 2 2 2 2
a2 = 2 99 2 2 2 2 2 2 2
Result = -1

a1 = 2 99 2 2 2 2 2 2 2
a2 = 2 99 2 2 2 2 2 4 1
Result = 0

a1 = 2 99 2 2 2 2 2 3 3
a2 = 2 99 2 2 2 2 2 27 1
Result = 0

a1 = 2 99 2 2 2 65536 1 1 1
a2 = 2 99 2 2 2 2 2 2 2
Result = 0

a1 = 99 99 98 2 2 2 2 2 2
a2 = 2 2 99 2 2 2 2 2 2
Result = -1

a1 = 2 2 3 2 2 2 2 2 2
a2 = 99 99 2 2 2 2 2 2 2
Result = 1



Могу прогнать любые предложенные варианты.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164910
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovDima TНе взлетела идея с 4-мя последними. Ошибка на второй проверке.
Заслал туда код

Похоже не взлетела из-за того, что у тебя в коде нет понижения левела, когда верхние одинаковы.
Надо понижать до тех пор, пока среди 4х последних пар не будет найдена пара разных.

Нет, это я погорячился, с понижением уровня, надо понижать только если верхние - единицы.
Возможно, ты попался в эту ловушку с хвостами из 4х единиц.
немного упростил свой код с учетом этого
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
function ComparePowerTowers(const a1, a2: TPowerTower): integer;
const
  epsilon= 1.0e-9;
var
  t1, t2: TPowerTower;
  i, len1, len2: integer;
  x1, x2: extended;
begin;
  len1:=Length(a1);
  len2:=Length(a2);
  for i:=0 to len1-1 do if a1[i]<=1 then begin;
    len1:=i;
    break;
    end;
  for i:=0 to len2-1 do if a2[i]<=1 then begin;
    len2:=i;
    break;
    end;
  if len1 or len2=0 then begin;
    Result:=0;
    exit;
    end;
  t1:=Copy(a1, 0, len1);
  t2:=Copy(a2, 0, len2);
  if len1<len2 then begin;
    SetLength(t1, len2);
    for i:=len1 to len2-1 do t1[i]:=1;
    len1:=len2;
    end;
  if len2<len1 then begin;
    SetLength(t2, len1);
    for i:=len2 to len1-1 do t2[i]:=1;
    len2:=len1;
    end;
  if (t1[0]=1) or (t2[0]=1) then begin;
    Result:=t1[0]-t2[0];
    exit;
    end;
  len1:=len2-4;
  if len1<0 then len1:=0;
  if len1+4=len2 then begin;
    x1:=ln(ln(t1[len1])) + ln(t1[len1+1]) * exp(ln(t1[len1+2])*t1[len1+3]);
    x2:=ln(ln(t2[len1])) + ln(t2[len1+1]) * exp(ln(t2[len1+2])*t2[len1+3]);
    end
  else if len1+3=len2 then begin;
    x1:=ln(ln(t1[len1])) + ln(t1[len1+1]) * t1[len1+2];
    x2:=ln(ln(t2[len1])) + ln(t2[len1+1]) * t2[len1+2];
    end
  else if len1+2=len2 then begin;
    x1:=ln(t1[len1]) * t1[len1+1];
    x2:=ln(t2[len1]) * t2[len1+1];
    end
  else begin;
    x1:=t1[len1];
    x2:=t2[len1];
    end;
  if abs(x1-x2)/(abs(x1)+abs(x2)+epsilon)>epsilon then begin;
    if x1<x2 then Result:=-1 else Result:=1;
    exit;
    end;
  for i:=len1-1 downto 0 do begin;
    Result:=t1[i]-t2[i];
    if Result<>0 then exit;
    end;
  Result:=0;
  end;


добавил соответствующий тест
Код: pascal
1.
2.
3.
a1 = 2 3 1 1 1 1 1 1 1
a2 = 99 2 1 1 1 1 1 1 1
Result = -1

...
Рейтинг: 0 / 0
Алгоритмы
    #39164911
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovМогу прогнать любые предложенные варианты.
Давай краевые кейсы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
a1 = 1 1 1 1 1 1 1 1 1 1
a2 = 99 99 99 99 99 99 99 99 99 99
Expected Result = 1

a1 = 99 99 99 99 99 99 99 99 99 99
a2 = 1 1 1 1 1 1 1 1 1 1
Expected Result = -1



И тест на точность

Код: sql
1.
2.
3.
a1 = 99 98 99 99 99 99 99 99 99 99
a2 = 98 99 99 99 99 99 99 99 99 99
Expected Result = 1
...
Рейтинг: 0 / 0
Алгоритмы
    #39164919
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

у меня ожидаемый результат противоположнный, я из первого параметра вычитаю второй:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
a1 = 3 2 2 2 2 2 2 2 2
a2 = 2 2 2 2 2 2 2 2 2
Result = 1 Expected = 1

a1 = 2 98 2 2 2 2 2 2 2
a2 = 2 99 2 2 2 2 2 2 2
Result = -1 Expected = -1

a1 = 2 99 2 2 2 2 2 2 2
a2 = 2 99 2 2 2 2 2 4 1
Result = 0 Expected = 0

a1 = 2 99 2 2 2 2 2 3 3
a2 = 2 99 2 2 2 2 2 27 1
Result = 0 Expected = 0

a1 = 2 99 2 2 2 65536 1 1 1
a2 = 2 99 2 2 2 2 2 2 2
Result = 0 Expected = 0

a1 = 99 99 98 2 2 2 2 2 2
a2 = 2 2 99 2 2 2 2 2 2
Result = -1 Expected = -1

a1 = 2 2 3 2 2 2 2 2 2
a2 = 99 99 2 2 2 2 2 2 2
Result = 1 Expected = 1

a1 = 2 3 1 1 1 1 1 1 1
a2 = 99 2 1 1 1 1 1 1 1
Result = -1 Expected = -1

a1 = 2 3 1 1 1 1 1 1 1
a2 = 99 2 1 1 1 1 1 1 1
Result = -1 Expected = -1

a1 = 1 1 1 1 1 1 1 1 1 1
a2 = 99 99 99 99 99 99 99 99 99 99
Result = -98 Expected = -1

a1 = 99 99 99 99 99 99 99 99 99 99
a2 = 1 1 1 1 1 1 1 1 1 1
Result = 98 Expected = 1

a1 = 99 98 99 99 99 99 99 99 99 99
a2 = 98 99 99 99 99 99 99 99 99 99
Result = -1 Expected = -1

...
Рейтинг: 0 / 0
Алгоритмы
    #39164922
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov, что такое TPowerTower?
...
Рейтинг: 0 / 0
Алгоритмы
    #39164923
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAleksandr Sharahov, что такое TPowerTower?

это массив целых чисел:
Код: pascal
1.
2.
type
  TPowerTower= array of integer;



забыл скопипастить во второй исходник, в первом оно было.
...
Рейтинг: 0 / 0
Алгоритмы
    #39164942
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я тоже не поняла условие: например
УсловиеИзвестно, что среди башен во входном файле нет равных.

и далее даются башни файла

1 2 2 -> 1^2^2 = 1
1 3 2 -> 1^3^2 = 1
1 2 3 -> 1^2^3 =1
1 3 3 -> 1^3^3 = 1

что я неправильно делаю?
...
Рейтинг: 0 / 0
25 сообщений из 208, страница 3 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритмы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]