Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Архив ПТ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 102 103 104 105 106 [107] 108 109 110 111 .. 114   вперед  Ctrl
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
Если прокатит, то с rt555 пиво:)
20 янв 08, 12:02    [5176871]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
Вот код той херни. У меня 5,5 мегов за полторы секунды обрабатывает и скидывает в файл.

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace BAISED
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime t1 = DateTime.Now;
            string text = File.ReadAllText("inp.txt");
            string[] cases = text.Split(new string[] { "\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            StringBuilder resStrBuilder = new StringBuilder();            
            foreach (string c in cases)
            {
                string[] lines = c.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                int max = int.Parse(lines[0]);
                int[] nums = new int[max];
                int l = lines.Length;
                for (int i = 1; i < l; i++)
                {
                    nums[i - 1] = int.Parse(lines[i].Split(new char[] { ' ' })[1]);
                }            
                Array.Sort<int>(nums);
                int result = 0;
                for (int i = 0; i < nums.Length; i++)
                {
                    result += Math.Abs(i + 1 - nums[i]);
                }
                resStrBuilder.AppendLine(result.ToString());
            }
            File.WriteAllText("out.txt", resStrBuilder.ToString());  
            DateTime t2 = DateTime.Now;
            Console.WriteLine((t2 - t1).ToString());
        }
    }
}
20 янв 08, 12:03    [5176872]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
Пардон, немного не то. Вот, то что надо:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace BAISED
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime t1 = DateTime.Now;
            string text = File.ReadAllText("inp.txt");
            string[] cases = text.Split(new string[] { "\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            StringBuilder resStrBuilder = new StringBuilder();            
            foreach (string c in cases)
            {
                string[] lines = c.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                int max = int.Parse(lines[0]);
                int[] nums = new int[max];
                for (int i = 1; i < lines.Length; i++)
                {
                    nums[i - 1] = int.Parse(lines[i].Split(new char[] { ' ' })[1]);
                }            
                Array.Sort<int>(nums);
                int result = 0;
                for (int i = 0; i < nums.Length; i++)
                {
                    result += Math.Abs(i + 1 - nums[i]);
                }
                resStrBuilder.AppendLine(result.ToString());
            }
            File.WriteAllText("out.txt", resStrBuilder.ToString());  
            DateTime t2 = DateTime.Now;
            Console.WriteLine((t2 - t1).ToString());
        }
    }
}

Это я там проверял мега оптимизацию с вынесением l = lines.Length перед циклом - фуфло, просто на пару mov больше становиться, т.е. только хуже. Так что этот вариант более правильный.

ЗЫ. Админы могут удалить мой предыдущий пост.
20 янв 08, 12:08    [5176880]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
Я дико извиняюсь, но вот еще более правильный вариант (я там забыл что в начале задается количество наборов) :)

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace BAISED
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime t1 = DateTime.Now;
            string text = File.ReadAllText("C:\\tmp.txt");
            string[] cases = text.Split(new string[] { "\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            StringBuilder resStrBuilder = new StringBuilder();
            for (int j = 1; j <= int.Parse(cases[0]); j++ )
            {
                string[] lines = cases[j].Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                int max = int.Parse(lines[0]);
                int[] nums = new int[max];
                for (int i = 1; i < lines.Length; i++)
                {
                    nums[i - 1] = int.Parse(lines[i].Split(new char[] { ' ' })[1]);
                }
                Array.Sort<int>(nums);
                int result = 0;
                for (int i = 0; i < nums.Length; i++)
                {
                    result += Math.Abs(i + 1 - nums[i]);
                }
                resStrBuilder.AppendLine(result.ToString());
            }
            File.WriteAllText("C:\\out.txt", resStrBuilder.ToString());  
            DateTime t2 = DateTime.Now;
            Console.WriteLine((t2 - t1).ToString());
        }
    }
}
20 янв 08, 12:22    [5176899]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
Получил compilation error ; И убери плиз ссылку на файл; я опять пропощу
20 янв 08, 12:34    [5176914]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
Ссылку на файл убрать откуда? о_0
20 янв 08, 12:43    [5176928]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
"C:\\tmp.txt"
20 янв 08, 12:47    [5176933]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
Я как маленький; сишарп не прокатит НИКОГДА; хоть ты тресни.

Я же писал : у меня free pascal вылетает по тайм-лимиту на ОДНОМ ТОЛЬКО чтении 5 мегов инпута.

Хотя , например, Гена сдал эту таску на fp.
20 янв 08, 12:48    [5176935]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
rt555
Я как маленький; сишарп не прокатит НИКОГДА; хоть ты тресни.

Я же писал : у меня free pascal вылетает по тайм-лимиту на ОДНОМ ТОЛЬКО чтении 5 мегов инпута.

Хотя , например, Гена сдал эту таску на fp.


Почему не прокатит?о_0 Ты не дооцениваешь индусов, писавших классы дотнета=) Кста когда я заменил foreach на счетник она еще быстрее стала работать, около секунды. Добавлю что на число дробильных задачах СиШ как правило быстрее С++, он тормозить начинает когда идет уже нагрузка на CLR (создание объектов, обращения к таблицам виртуальных методов).

ЗЫ. А как там должны входные данные задваться? Как надо назвать входной и выходной файлы?
20 янв 08, 12:52    [5176944]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
D!sa
rt555
Я как маленький; сишарп не прокатит НИКОГДА; хоть ты тресни.

Я же писал : у меня free pascal вылетает по тайм-лимиту на ОДНОМ ТОЛЬКО чтении 5 мегов инпута.

Хотя , например, Гена сдал эту таску на fp.


Почему не прокатит?о_0 Ты не дооцениваешь индусов, писавших классы дотнета=) Кста когда я заменил foreach на счетник она еще быстрее стала работать, около секунды. Добавлю что на число дробильных задачах СиШ как правило быстрее С++, он тормозить начинает когда идет уже нагрузка на CLR (создание объектов, обращения к таблицам виртуальных методов).

ЗЫ. А как там должны входные данные задваться? Как надо назвать входной и выходной файлы?

У них очень слабенькие (700 мгц; это специально) машинки.

2.
:) Ты же условие читал? input & ouput
20 янв 08, 12:59    [5176953]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
rt555

ЗЫ. А как там должны входные данные задваться? Как надо назвать входной и выходной файлы?

У них очень слабенькие (700 мгц; это специально) машинки.
2.
:) Ты же условие читал? input & ouput[/quot]

Блин, ну должно уложиться в 3 секунды. Заметь я считываю с помощью оптимизированой хрени, котрая вызывает

[DllImport("kernel32.dll", SetLastError=true)]
internal static extern unsafe int ReadFile(SafeFileHandle handle, byte* bytes, int numBytesToRead, IntPtr numBytesRead, NativeOverlapped* overlapped);

ЗЫ. А че сам-то не поменяешь названия файлов? Насчет компиляции - есть предположение что у них СиШ 1.0, я под 2.0 писал.
20 янв 08, 13:04    [5176960]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
D!sa
rt555

ЗЫ. А как там должны входные данные задваться? Как надо назвать входной и выходной файлы?

У них очень слабенькие (700 мгц; это специально) машинки.
2.
:) Ты же условие читал? input & ouput


Блин, ну должно уложиться в 3 секунды. Заметь я считываю с помощью оптимизированой хрени, котрая вызывает

[DllImport("kernel32.dll", SetLastError=true)]
internal static extern unsafe int ReadFile(SafeFileHandle handle, byte* bytes, int numBytesToRead, IntPtr numBytesRead, NativeOverlapped* overlapped);

ЗЫ. А че сам-то не поменяешь названия файлов? Насчет компиляции - есть предположение что у них СиШ 1.0, я под 2.0 писал.[/quot]
Я ничего сам менять не хочу. Я абсолютная готовальня. И сишарп я нак*ю видел. Он здесь не прокатит.

Не всё так просто в этой жизни, D!sa.




Да ну вас в баню... пестоболов.
20 янв 08, 13:10    [5176967]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
rt555
Он здесь не прокатит.

Не всё так просто в этой жизни, D!sa.

Да ну вас в баню... пестоболов.


С хрена он здесь не прокатит? Почему FP не прокатывает, я догадываюсь. Но эта хрень если скомпиляеца, то должна работать.

ЗЫ. Дал код знакому хардкор-программисту на Си, он его к вечеру перепишет.
20 янв 08, 13:19    [5176983]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
о-ё.... чё там переписывать?
Ты , D!sa, песдатый человек. Как молодому пацану мой тебе совет (а я человек потерянный):
съябывай ты с этих песдабольских форумов; лучше подсядь на например польскую Сферу.
Там ты всё про себя узнаешь.
20 янв 08, 13:27    [5176992]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
temperature457
Member [заблокирован]

Откуда:
Сообщений: 482
rt555
съябывай ты с этих песдабольских форумов; лучше подсядь на например польскую Сферу.
Там ты всё про себя узнаешь.

Станет таким же как и ты. Почему ты его так ненавидишь?
20 янв 08, 13:32    [5177001]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
rt555
о-ё.... чё там переписывать?
Ты , D!sa, песдатый человек. Как молодому пацану мой тебе совет (а я человек потерянный):
съябывай ты с этих песдабольских форумов; лучше подсядь на например польскую Сферу.
Там ты всё про себя узнаешь.


Мне ниче про себя не надо узнавать, мне есть на кого ровняться на работе.
20 янв 08, 13:32    [5177003]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
temperature457
rt555
съябывай ты с этих песдабольских форумов; лучше подсядь на например польскую Сферу.
Там ты всё про себя узнаешь.

Станет таким же как и ты. Почему ты его так ненавидишь?

С чего ты взял что я его НЕНАВИЖУ? Я всех страстных людей люблю.

Я ненавижу только хитрожопых, спокойно-размеренных тварей.
20 янв 08, 13:51    [5177032]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
temperature457
Member [заблокирован]

Откуда:
Сообщений: 482
rt555
Я ненавижу только хитрожопых, спокойно-размеренных тварей.

Тебя бесит, что хитрожопые, спокойно-размеренные твари живут привеваючи и кладут на тебя лично большой и толстый? А также на всех подобных страстных и увлеченных.
Страстные же и увлеченные с некоторых пор в нашей стране приравниваются к говну. Их жизнь и является говном, зачастую.
20 янв 08, 14:21    [5177079]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
temperature457
rt555
Я ненавижу только хитрожопых, спокойно-размеренных тварей.

Тебя бесит, что хитрожопые, спокойно-размеренные твари живут привеваючи и кладут на тебя лично большой и толстый? А также на всех подобных страстных и увлеченных.
Страстные же и увлеченные с некоторых пор в нашей стране приравниваются к говну. Их жизнь и является говном, зачастую.


Да ничего меня , брателло, не бесит. Мало что я тут тявкаю.

Меня подпои , я тебе и не такого напижжу.



А вот на Сфере Дениса Б я уже засек! :)
20 янв 08, 18:15    [5177425]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
rt555
Member [заблокирован]

Откуда:
Сообщений: 446
Ну чё, D!sa, не получается? А ты думал как в этой жизни? Программиздирование требует жесточайшей дисциплины (с) к своему моску и к своей жизни.

А попистеть про руби, питоны, люа -- это все умеют.

(мой Виталик тоже куда-то прихавался; может отъехал куда; да и хер с ним)
20 янв 08, 21:23    [5177676]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
rt555
Ну чё, D!sa, не получается? А ты думал как в этой жизни? Программиздирование требует жесточайшей дисциплины (с) к своему моску и к своей жизни.

А попистеть про руби, питоны, люа -- это все умеют.

(мой Виталик тоже куда-то прихавался; может отъехал куда; да и хер с ним)


Пошел ты, для меня ни твоя сфера ни ты не авторитет. Лично у меня все получается. Про руби и питоны как раз пиздеть умеют единицы.
21 янв 08, 01:06    [5178003]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
D!sa
Member

Откуда:
Сообщений: 288
D!sa
Про руби и питоны как раз пиздеть умеют единицы.


ЗЫ. Ты у нас на работе не был, там бы мы обсудили еще Scheme, Erlang, Haskell, OCaml, Nemerle, Tcl кроме пайтона с руби.
21 янв 08, 01:16    [5178018]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
новенький в oracle
Member

Откуда:
Сообщений: 4430
Сергей84
странно, счас 2008 - високосный, а вот 8 лет назад был 2000 - он не високосный

календарь открой:

К сообщению приложен файл. Размер - 15Kb
21 янв 08, 07:11    [5178134]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Сергей84
Member

Откуда: Мурманск
Сообщений: 29222
новенький в oracle
Сергей84
странно, счас 2008 - високосный, а вот 8 лет назад был 2000 - он не високосный

календарь открой:

слово сарказм вам знакомо?
или мне нужно как в США обязательно смайлов штук 20 поставить?
21 янв 08, 11:45    [5179319]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
temperature457
Member [заблокирован]

Откуда:
Сообщений: 482
D!sa

ЗЫ. Ты у нас на работе не был, там бы мы обсудили еще Scheme, Erlang, Haskell, OCaml, Nemerle, Tcl кроме пайтона с руби.

На всем этом у вас пишут?
А у вас там когда-нить ваще работают? :)
21 янв 08, 11:49    [5179354]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 102 103 104 105 106 [107] 108 109 110 111 .. 114   вперед  Ctrl
Все форумы / Архив ПТ Ответить