Форум программистов, компьютерный форум 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Эксперт С++
13513 / 7671 / 866
Регистрация: 27.09.2012
Сообщений: 18,875
Записей в блоге: 3
Завершенные тесты: 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 ) ;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru