Резултати от 1 до 4 от общо 4

Спешно решение на задача

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Junior Member
    Тук е от
    Sep 2008
    Мнения
    58
    #1

    Спешно решение на задача

    Спешно ми трябва програма за решаването на тази задача.Програмата трябва да бъде или на Паскал, или на С++, или на Visual Basic

    Задача A1. ОЦВЕТЯВАНЕ

    Разглеждаме точките с целочислени координати x върху правата (0 < x < 500001). Първоначално тези точки са оцветени с бял цвят. Прилагаме N операции
    от следния вид:
    при i-тата операция променяме цвета на тези от разглежданите точки, които са с координати в интервала от a(i) до b(i) (включително и на точките в двата края на интервала) – ако точката е била оцветена в бяло, оцветяваме я в черно, а ако е била оцветена в черно, оцветяваме я в бяло.
    Напишете програма color, която извежда броя на точките от най-дългата последователност от съседни точки, оцветени в черно, която се е получила след
    завършване на последната от N-те операции.

    Вход
    От първия ред на стандартния вход се въвежда едно цяло число N. От следващите N реда се въвеждат по две цели числа a(i) и b(i) , разделени с интервал.

    Изход
    На един ред на стандартния изход програмата трябва да изведе едно цяло число, равно на търсения брой.

    Ограничения

    0 < N < 5001
    0 < a(i) < 500001,
    0 < b(i) < 500001,
    a(i)<= b(i) , i = 1,…, N


    ПРИМЕР

    Вход Изход
    2 3
    3 7
    5 10

    P.S. Програмата трябва да бъде само на Паскал или Visual Basic 6.0.

  2.  
     
  3. Member Аватара на shanto
    Тук е от
    Feb 2008
    Мнения
    621
    #2

    Re: Спешно решение на задача

    Ето ти решението на C

    #include <cstdio>

    const int max=500000;
    int a[max+1];
    int n;

    int main()
    {
    scanf("%d",&n);
    for(int i=1;i<=n; i++)
    {
    int j1,j2;
    scanf("%d%d",&j1,&j2);
    for(int j=j1;j<=j2;j++)
    if(a[j]==0) a[j]=1;
    else a[j]=0;
    }

    int m=0;
    int c=0;
    int j=1;
    while(j<max)
    { while(a[j]==0) j++;
    c=0;
    while(a[j]==1) {j++; c++;}
    if(m<c)m=c;
    }

    printf("%d\n",m);

    }

  4. Senior Member
    Тук е от
    Feb 2003
    Мнения
    2,351
    #3

    Re: Спешно решение на задача

    Изключително съм против това да се пише на някой домашната, дето го мързи да чете, но не го мързи да проси помощ в 10 форума.

  5. Member Аватара на shanto
    Тук е от
    Feb 2008
    Мнения
    621
    #4

    Re: Спешно решение на задача

    Прав си Black Adder, но какво да го правим?Поне нека да му свършим работата докрай.
    много отдавна съм се откъснал от Паскал.Ако има някой който работи на него нека му я транслира, аз съм дал сорс кода на C.
    Мисля ,че ще бъде лесно.

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. NAS + USB решение
    От topche във форум Общ - хардуер
    Отговори: 4
    Последно: 30-05-11, 20:20
  2. По-лесно решение ?
    От xzone във форум Програмиране
    Отговори: 0
    Последно: 28-08-09, 13:36
  3. Кое е по-доброто решение...?
    От stoian_angelov във форум Всичко за климатиците
    Отговори: 11
    Последно: 14-03-08, 00:45
  4. Курсова задача.Спешно !!!
    От val4o във форум Общ - софтуер
    Отговори: 3
    Последно: 17-01-05, 09:57
  5. Решение на Задача 1
    От FearMe във форум Логически задачи
    Отговори: 1
    Последно: 21-09-04, 00:23

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе