powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задача: измерить длинну очереди, не используя массивов
25 сообщений из 60, страница 1 из 3
Задача: измерить длинну очереди, не используя массивов
    #33989102
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть конечная очередь, состоящая из элементов типа int. Необходимо узнать длину очереди, используя команды push, pop(сообщает также об отсутствии элементов в очереди), не используя выделение дополнительной памяти, а именно массивов, которые будут дублировать содержимое очереди. при этом очередь должна сохранить первоначальный вид, т.е. элементы должны находится в не в той же последовательности, что и до определения ее длинны.

Единственное решение которое приходит на ум:
"Скачать" все элементы в String, а потом восстановить очередь, но по условию элементы очереди не должны дублироваться, может у нее нет решения?
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989136
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DremmmЕдинственное решение которое приходит на ум:
Плохо :( Стопроцентная задача на маркер.

Dremmmможет у нее нет решения?
Я практически уверен, что в условиях задачи есть какое-нибудь маленькое дополнительное условие - например, все "элементы очереди различны" или "неотрицательны" или что-нибудь в этом роде. Если нет - надо пошевелить мозгами.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989151
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Условие задачи "слово в слово".
Самое первое что пришло на ум, добавить "свой int", брать первый элемент, увеличивать счетчик на 1, и возвращать этот элемент в очередь, пока не дойду до моего intа, но если в очереди уже есть "мой элемент"?
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989424
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слово в слово? Любопытно. Хотя формулировка не очень четкая. Я вижу нечестное решение: воспользоваться рекурсивной функцией. При этом явного выделения памяти и массовов не будет. Функцию надо будет вызвать дважды (поскольку она будет переворачивать очередь, второй раз - чтобы вернуть элементы в начальный порядок).

Что же до честных решений, то это должен быть именно маркер, то, что Вы назвали "свой int". Но тут есть ключевой аспект, в решаемости которого я сходу не уверен: как определить, что очередь прокручена до конца.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989505
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerСлово в слово? Любопытно. Хотя формулировка не очень четкая. Я вижу нечестное решение: воспользоваться рекурсивной функцией. При этом явного выделения памяти и массовов не будет. Функцию надо будет вызвать дважды (поскольку она будет переворачивать очередь, второй раз - чтобы вернуть элементы в начальный порядок).

Что же до честных решений, то это должен быть именно маркер, то, что Вы назвали "свой int". Но тут есть ключевой аспект, в решаемости которого я сходу не уверен: как определить, что очередь прокручена до конца.
а как узнать что ты перевернул всю очередь? без ее дублирования
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989558
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение

static Stack stack = new Stack();

public static int Task1(Stack stack) {
if (!(stack.empty())) {
Integer i = (Integer) stack.pop();
int j = Task1(stack);
stack.push(i);
return ++j;
} else {
return 0;
}
};

public static void main(String[] args) {
stack.push(5);
stack.push(3);
stack.push(10);
int count = Task1(stack);
}
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989578
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremmmstatic Stack stack = new Stack();
Дык в условии очередь или стек?
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33989581
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremmmа как узнать что ты перевернул всю очередь?
В рекурсивной функции-то? По признаку пустоты очереди.

Dremmmбез ее дублирования
Говорю же, в формулировке задачи дырка, допускающая нечестное решение. По сути дублирование есть, но оно неявное, без массивов и подобных структур данных.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33990532
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Dremmmstatic Stack stack = new Stack();
Дык в условии очередь или стек?
это зависит только от типа входа.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33990644
Den_di
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то не очень понятно.
у нас есть класс List (пусть это очередь), мы не знаем его структуры и имеем доступ только к ф-циям push(type) и pop(type).И пусть ф-ция вернёт zero, если всё выбрано. догда для очереди
2-3-5-3-4
после выборки и записи будет:
4-2-3-5-3
3-4-2-3-5
...
2-3-5-3-4

теперь осталось как-то понять, что очередь пройдена полностью. для этого можно использовать маркер. (хотя и не всегда работает). или отправить в плавание помеченный элемент и ждать, пока он не всплывёт.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991526
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinэто зависит только от типа входа.
Это принципиальное условие в силу требования неизменности данных. Если для очереди решение может и существовать, то для стека честное решение (то есть использующее O(1) памяти кроме собственно данных стека) явно невозможно.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991787
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Aklinэто зависит только от типа входа.
Это принципиальное условие в силу требования неизменности данных. Если для очереди решение может и существовать, то для стека честное решение (то есть использующее O(1) памяти кроме собственно данных стека) явно невозможно.

вроде как:

стек:
A<-B<-C<-...<-Last(==Head)
новый эл-т добавляется перед Head и перенос послденей вправо
A<-B<-C<-...<-Last<-NEW(==Head)
pop берет Head + переносит ее влево
A<-B<-C<-...LastChild<-Last(==Head)
A<-B<-C<-...<-LastChild(==Head)

очередь: нужно еще не потерять Tail

A(==Head)<-B<-C<-...Last(==Tail)
новый эл-т добавляется после Head и перенос послденего влево
NEW(==Head)<-A<-B<-C<-...Last(==Tail)
pop берет из Tail+ перенос хвоста влево
A(==Head)<-B<-C<-...LastChild<-Last(==Tail)
A(==Head)<-B<-C<-...LastChild(==Tail)


если использовать "ручную" очередь + убрать удаление эл-та, то реально сделать, используя только 1 буфер.

если использовать "стандартный" класс то надо копаться в классе, но вручную будет все-равно проще.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991808
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinвроде как:
Нет. Очередь - это черный ящик с методами enqueue/dequeue и соблюдающимся принципом FIFO. Стек - это черный ящик с методами push/pop и соблюдающимся принципом LIFO. Не более того.

Если "делать ручную очередь" или "копаться в классе", задача не имеет смысла, потому что тогда длина очереди известна (например, в Вашей терминологии - tail - head + 1). Алгоритмические задачи такого рода ставятся только на использование интерфейса объекта (при этом, зная производительность операций, мы можем рассуждать о производительности алгоритма).
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991854
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Aklinвроде как:
Нет. Очередь - это черный ящик с методами enqueue/dequeue и соблюдающимся принципом FIFO. Стек - это черный ящик с методами push/pop и соблюдающимся принципом LIFO. Не более того.


вы вручную хоть раз очередь строили?
это не черный ящик, если знать начало очереди, а вполне нормальный элемент. и работать с ним просто.(можно написать класс для простоты)
softwarer
Если "делать ручную очередь" или "копаться в классе", задача не имеет смысла,


это почему? если у вас динамическая очередь (т.е. сразу не знаешь, сколько добавлено, удалено, и т.д.) то вполне нормально
softwarer
потому что тогда длина очереди известна (например, в Вашей терминологии - tail - head + 1).

Нет. и Head и Tail - лишь указатели на динамически выделяемые структуры, и между выделениями 2х такихструктур может выделятся сколько угодно другой памяти, не имеющей отношения к очереди

softwarer
Алгоритмические задачи такого рода ставятся только на использование интерфейса объекта (при этом, зная производительность операций, мы можем рассуждать о производительности алгоритма).

какого объекта? стандартного класса?
так можно свой написать, там мало строк будет. и не только интерфейс, еще и эффективность сами определите.
очень многие пишут свои менеджеры памяти для уменьшения количества занимаемой памяти, но при этом о фактическом сборе мусора речи не идет.
также приходится все вручную удалять.

не вижу ничего тяжелого написать свою очередь ручками и узнать ее размер используя лиш 1 указатель + 1 long например

FIFO и LIFO полностью работают на моей схеме выше.

и все жы: почему черный ящик-то? или кроме стандартов вы не делали ничего?
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991866
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
special for you:
Код: plaintext
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.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
#include <iostream.h>

/*
Written by Aklin [aklin20@mail.ru], 2006(c).
*/

template <class T>
class MyStack
{
protected:
	struct cell
	{
		T val;
		cell* n;
	};
	cell *head, *b;

public:
	MyStack<T>();
	~MyStack<T>();

public:
	int Push(T);
	T Pop();
	unsigned int Len();
};

template <class T>
MyStack<T>::MyStack<T>()
{
	head = NULL;
	b = NULL;
}

template <class T>
MyStack<T>::~MyStack<T>()
{
	if( head== 0  )return;

	b = head->n;
	while( b!= 0  )
	{
		delete head;
		head = b;
		b = head->n;
	}
	delete head;
}

template <class T>
int MyStack<T>::Push(T val)
{
	if( head==NULL )
	{
		b = new cell;
		if( !b ) return  1 ;
		b->n = NULL;
		b->val = val;

		head = b;
	}
	else
	{
		b = new cell;
		if( !b ) return  1 ;
		b->n = head;
		b->val = val;

		head = b;
	}

	return  0 ;
}

template <class T>
T MyStack<T>::Pop()
{
	if( head==NULL )
	{
		return  0 ;
	}
	else
	{
		b = head;
		head = head->n;
		T buf = b->val;
		delete b;
		return buf;
	}
}

template <class T>
unsigned int MyStack<T>::Len()
{
	unsigned int i =  0 ;
	b = head;
	while( b!= 0  ){
		i++;
		b = b->n;
	}
	return i;
}

void main(){
	MyStack<long> m1;


	m1.Push(  10  );
	m1.Push(  11  );
	m1.Push(  12  );
	m1.Push(  13  );

	cout << m1.Len() << "\n";

	cout << m1.Pop() << "\n";
	cout << m1.Pop() << "\n";
	cout << m1.Pop() << "\n";
	cout << m1.Pop() << "\n";
	cout << m1.Pop() << "\n";
	cout << m1.Pop() << "\n";
	cout.flush();
}
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33991869
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аналогично пишется очередь
+ перегрузкой операторов дибиваемся
-слиянием стеков
-проверка на равенство(> или < или <= и др)
-доступ к элементу по []
-и т.д.
-добавление элементов: MyStackVar += 150;
-или + = либо слияние, либо добавление,
-или - = вычитание (удаление последнего эл-та)

такой же класс (без перегузки операторов) я проводил даже в VB!
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992175
Mike_za
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык ясно же написано что есть
две веревки за которые можно дергать
push, pop
куда вы лезете с реализацией очереди!!!!
Повторю softwarer: Очередь - это черный ящик
при доступе внутрь класса узнать длину очереди не было бы вообще проблемой

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

а хотя....

автор"Скачать" все элементы в String, а потом восстановить очередь, но по условию элементы очереди не должны дублироваться , может у нее нет решения?

написано же ЭЛЕМЕНТЫ не должны дублироваться))
все честно с маркером тода, если элементы уникальные, прокрутить один раз в цикле, задача то учебная
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992178
Mike_za
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin вы вручную хоть раз очередь строили?
это не черный ящик, если знать начало очереди, а вполне нормальный элемент. и работать с ним просто.(можно написать класс для простоты)

А вы хоть раз слышали про черный ящик и интерфейс?

Нормально реализованная очередь - это классический черный ящик
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992323
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mike_za Aklin вы вручную хоть раз очередь строили?
это не черный ящик, если знать начало очереди, а вполне нормальный элемент. и работать с ним просто.(можно написать класс для простоты)

А вы хоть раз слышали про черный ящик и интерфейс?

Нормально реализованная очередь - это классический черный ящик

черный ящик для вас, или черный ящик как хорошо организованный и не дающий сбоев механизм?

я вообще не люблю черных ящиков, за исколючением: нормально сделанный и открываеюмый в любой момент.

про рекурсию: а с чего вы взяли, что при pop память в очереди не уменьшается. вы ведь забераете эл-т? нормально реализованный "ящик" по рекурсии даст вполне нормальный результат.

также можно удаять из 1го, а добавлять во 2ой. память - только на 1 буфер.

Special 4u: черный ящик + использование не более O(sizeof(vartype)) доп. места. (добавьте к тому, что я раньше написал, и используйте вышеописанный класс как "черный" ящик)

Код: plaintext
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.
template <class T>
unsigned int Lenn(MyStack<T> &m)
{
	T l;
	unsigned int len= 0 ;
	l = m.Pop();
	if( l== 0  )return  0 ;
	len = Lenn( m )+ 1 ;
	m.Push( l );
	return len;
}

void main()
{
	MyStack<long> m1;


	m1.Push(  10  );
	m1.Push(  11  );
	m1.Push(  12  );
	m1.Push(  13  );


	cout << Lenn<long>( m1 ) << "\n";
	cout.flush();

	cout << m1.Len() << "\n";
	cout.flush();
}
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992396
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinчерный ящик для вас, или черный ящик как хорошо организованный и не дающий сбоев механизм?
Черный ящик - вполне однозначное понятие, "или" здесь неуместно. Подробности - в словаре.

Aklinя вообще не люблю черных ящиков,
Понимаю. А получая двойку по матану, не говорили, что не любите матана?

Aklinпро рекурсию: а с чего вы взяли, что при pop память в очереди не уменьшается.
Мы не "взяли". Это "неизвестно".

Aklin вы ведь забераете эл-т? нормально реализованный "ящик" по рекурсии даст вполне нормальный результат.
Чушь. Нормально реализованный ящик может как экономить время за счет памяти, так и наоборот. В определение очереди не входят условия на логику управления памятью.

Aklinтакже можно удаять из 1го, а добавлять во 2ой.
Что явно противоречит условию задачи.

Такое впечатление, что Вы совсем не думаете, что пишете, лишь бы возразить. Да и по приведенному Вами коду видна.. поспешность.

AklinSpecial 4u: черный ящик + использование не более O(sizeof(vartype)) доп. места.
Хм. Контрольный вопрос: чем написанное Вами отличается от O(1)?

Aklin
(добавьте к тому, что я раньше написал, и используйте вышеописанный класс как "черный" ящик)

unsigned int Lenn(MyStack<T> &m)
{
T l;
unsigned int len=0;
l = m.Pop();
if( l==0 )return 0;
len = Lenn( m )+1;
m.Push( l );
return len;
}
Замечательно. Угадайте с трех раз, у кого из участников темы Вы позаимствовали это решение?
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992455
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Aklinчерный ящик для вас, или черный ящик как хорошо организованный и не дающий сбоев механизм?
Черный ящик - вполне однозначное понятие, "или" здесь неуместно. Подробности - в словаре.

черный ящик бывает разным. либо это неизвестный вам объект лишь с глобальными действиями, либо это ваш же объект, прикрытый для простоты последующей работы.

softwarer
Aklinя вообще не люблю черных ящиков,
Понимаю. А получая двойку по матану, не говорили, что не любите матана?


нет. черных ящиков я не люблю потому, что неизвестно что там + нельзя ничего дописать, а учитывая что переписать не так тяжело, то я переписал бы.
softwarer

Aklinпро рекурсию: а с чего вы взяли, что при pop память в очереди не уменьшается.
Мы не "взяли". Это "неизвестно".


вот установите, а потом говорите. мне все известно в моем коде.
softwarer

Aklin вы ведь забераете эл-т? нормально реализованный "ящик" по рекурсии даст вполне нормальный результат.
Чушь.

чушь == недопонимание?
softwarer
Нормально реализованный ящик может как экономить время за счет памяти, так и наоборот.

поправка: если ящик не тривиальный. тогда никакой экономии.
softwarer
В определение очереди не входят условия на логику управления памятью.

здесь речь не об определении
softwarer

Aklinтакже можно удаять из 1го, а добавлять во 2ой.
Что явно противоречит условию задачи.

Такое впечатление, что Вы совсем не думаете, что пишете, лишь бы возразить. Да и по приведенному Вами коду видна.. поспешность.

поспешность - лишь от того, что это эде не первый раз делаю, и почти наизусть могу подобные классы писать. очень помогает.
softwarer

AklinSpecial 4u: черный ящик + использование не более O(sizeof(vartype)) доп. места.
Хм. Контрольный вопрос: чем написанное Вами отличается от O(1)?

если нечем - так получается, что я выполнил условие задачи?
softwarer

Aklin
Замечательно. Угадайте с трех раз, у кого из участников темы Вы позаимствовали это решение?
я не заимствовал, а показал, что даже из черного ящика такое возможно вытянуть.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992594
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
Как вам удаётся не различать реализацию (односвязный список) и интерфейс (push/pop/empty) объекта (stack'a)?

Aklin я не заимствовал, а показал, что даже из черного ящика такое возможно вытянуть.
Чёрным ящиком было решение опубликованное Dremmm в пятом сверху сообщении? %)
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992658
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs Aklin
Как вам удаётся не различать реализацию (односвязный список) и интерфейс (push/pop/empty) объекта (stack'a)?

Push - добавление к очереди (стека)
Pop - получение из очереди (стека)
структура простая, организация тоже. и то что нектороые программисты пытаются использовать стандартный класс, не понимая, что внутри происходит является огорчением.

да и односвязный список бывает либо очередь либо стек, а дальше только деревья...

NotGonnaGetUs
Aklin я не заимствовал, а показал, что даже из черного ящика такое возможно вытянуть.
Чёрным ящиком было решение опубликованное Dremmm в пятом сверху сообщении? %)
нашел, но:
-использование статического стека? зачем?
-стек был создан, зачем его еще раз пересоздавать?
- в общем у меня то же но для моего класса.

вообще не вижу причин для использования стандартного класса, если можно написать самому под свои цели.
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992683
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
-использование статического стека? зачем?

"статического стека" не существует. автор сделал переменную содержащую сслыку на стек статической, чтобы к ней можно было обращаться из статического метода main...

Aklin
-стек был создан, зачем его еще раз пересоздавать?

Где там пересоздаётся стек?


Aklinструктура простая, организация тоже. и то что нектороые программисты пытаются использовать стандартный класс, не понимая, что внутри происходит является огорчением.

вообще не вижу причин для использования стандартного класса, если можно написать самому под свои цели.

Это не шутка? :)
...
Рейтинг: 0 / 0
Задача: измерить длинну очереди, не используя массивов
    #33992695
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs Aklin
-использование статического стека? зачем?

"статического стека" не существует. автор сделал переменную содержащую сслыку на стек статической, чтобы к ней можно было обращаться из статического метода main...

существует статический класс, который позже расширяется динамически.
NotGonnaGetUs

Aklin
-стек был создан, зачем его еще раз пересоздавать?

Где там пересоздаётся стек?

= new Stack();
NotGonnaGetUs


Aklinструктура простая, организация тоже. и то что нектороые программисты пытаются использовать стандартный класс, не понимая, что внутри происходит является огорчением.

вообще не вижу причин для использования стандартного класса, если можно написать самому под свои цели.

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


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