Форум программистов, компьютерный форум CyberForum.ru

Уменьшение времени работы программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите программу с if http://www.cyberforum.ru/cpp-beginners/thread994684.html
Предположим, что A говорит: "Или я лжец, или два плюс два - пять". К какому заключению можно прийти на основании этого утверждения?
C++ поскажите или напишите программу с циклом if( 29. Предположим, что A говорит: "Или я лжец, или B рыцарь". Кто из двух персонажей A и B рыцарь и кто лжец? http://www.cyberforum.ru/cpp-beginners/thread994681.html
C++ Переменная в TextBox
пишу в TextBox переменную: float p=1; textBox2->Text = p.ToString(); но допустим у меня g=g+1;
Задача по программированию(неудачный перевод кода) C++
Во время экперимента Накодиллы было случайно получено сообщение инопланетян, содержащее формулу вида A + B = C. Общественности стало интересно, какую же систему счисления используют инопланетяне. Так как внеземная цивилизация была достаточно развита, чтобы отправить межпланетное сообщение, Накодилла предположил, что основание системы счисления довольно мало. Требуется написать программу,...
C++ как понять строку declare http://www.cyberforum.ru/cpp-beginners/thread994676.html
SWITCH_DECLARE(const switch_state_handler_table_t *) switch_core_get_state_handler(_In_ int index); не понятно зачем в возвращаемом параметре стоит Слово const
C++ Составить и проверить функцию, которая переставляет цифры заданного целого числа N1 в обратном порядке и получает новое число N2 8. Составить и проверить функцию, которая переставляет цифры заданного целого числа N1 в обратном порядке и получает новое число N2. Например, если N1=425, то N2=524. подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 2
Завершенные тесты: 1
02.11.2013, 01:21     Уменьшение времени работы программы
Экзотика
ВНИМАНИЕ!!! В коде черт глаза сломает!!!
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
#include <fstream>
#include <list>
#include <utility>
 
using namespace std ;
 
int main ( ){   
    int width , height , rectsCount ;
    ifstream iFile ( "INPUT.TXT" ) ;
    iFile >> width >> height >> rectsCount ;
    
    const int maxHeight = 100 ;
    list < pair < int , int > > arr [ maxHeight ] ;
    
    int x1 , y1 , x2 , y2 ;
    while ( rectsCount ) {
        iFile >> x1 >> y1 >> x2 >> y2 ;
        for ( int y = y1 , addX1 = x1 , addX2 = x2 ; y < y2 ; ++y , addX1 = x1 , addX2 = x2  ) {
            for ( list < pair < int , int > >::iterator nowX = arr [ y ].begin ( ) ; nowX !=  arr [ y ].end ( ) ; ) {
                if ( ( addX1 - (*nowX).second ) * ( addX2 - (*nowX).first ) > 0 ) { 
                    ++nowX ;
                }
                else {
                    addX1 = min ( addX1 , (*nowX).first ) ;
                    addX2 = max ( addX2 , (*nowX).second ) ;
                    nowX = arr [ y ].erase ( nowX ) ;
                }
            }
            arr[y].push_front ( make_pair ( addX1 , addX2 ) ) ;
        }
        --rectsCount ;
    }
    
    int rectsSquare = 0 ;
    for ( int y = 0 ; y < height ; ++y ) {
        for ( list < pair < int , int > >::iterator nowX = arr [ y ].begin ( ) , endX = arr [ y ].end ( ) ; nowX != endX ; ++nowX ) {
            rectsSquare += (*nowX).second - (*nowX).first ;
        }
    }   
    ofstream oFile ( "OUTPUT.TXT" ) ;
    oFile << ( width * height - rectsSquare ) ;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru