Skocz do zawartości

Zadania OIG - HELP! - Daje kilka limitów!


Loczuch

Rekomendowane odpowiedzi

Witajcie! Mam do was wielką prośbe... Mianowicie, mam 4 zadania wzięte z OIG - Olimpiady Informatycznej Gimnazjalistów ( Oczywiście, z poprzednich lat ) , i niestety, nie jestem w stanie ich rozwiązać :( Jeżeli chcecie się wzbogacić o kilka, kilkadziesiąt lajków, i oczywiście - piątke w profilu, pomóżcie mi, a ja się zajmę wszystkim pozostałym ( na mysli mam rekompensatę ) :P

Więc... Daje wam do ściągnięcia 4 zadania w PDF'ie, a Wy po przeczytaniu, i zrozumieniu treści zadania, piszecie do tego program, oczywiście w C++. Zależy mi na działających w stu procentach kodach źródłowych....

 

Na prawdę, pomóżcie mi, bo warto. Jestem w stanie dać kilkadziesiąt ( >99 ) lajków!

 

Aha! Bardzo wazna sprawa! Zadania MUSZĄ byc rozwiązane na dzisiaj do godziny 23....

Jeszcze raz Was proszę...

W razie czego, piszcie, a na pewno dostaniecie odpowiedź!

 

Btw. Jezeli nie będziecie potrafili zrobić jakiegoś zadania, pomińcie je, i zróbcie następne, a nagroda czeka! :P

 

Zadania:

1. http://www.sendspace...02dad1cd2aa/obc

skan: http://virusscan.jot...c90e7f9416481d0

2. http://www.sendspace...776a40bd65b/pal

skan: http://virusscan.jot...99ed98109125c28

3. http://www.sendspace...06f6d954fca/pla

skan: http://virusscan.jotti.org/pl/scanresult/097f2f8c12a4f9e426cfbc9fff4da754c1457916

4. http://www.sendspace.pl/file/c5172ce5ed632f60b3197da/tor

skan http://virusscan.jotti.org/pl/scanresult/c1dba7c1a5a7d2da4b365ee1c5323b1ffe3f9046

(: .ćyż usnes am eiN

Odnośnik do komentarza
Udostępnij na innych stronach

Nie są to pewnie najbardziej optymalne rozwiązania < a takie powinny iść na OI >, ale działają ;] Jak bede mial czas to zrobie moze jeszcze jakies

1.

#include <iostream>

int main()
{
std::ios_base::sync_with_stdio(0);

short t[86399] = {0};
int x, y;
int maxY = 0;
int n;
std::cin >> n;


//wczytanie danych
for (int i = 0; i < n; i++)
{
std::cin >> x;
std::cin >> y;

//dzieki temu nie sprawdzamy potem 86k liczb, tylko do najwyzszego Y
if (y > maxY) maxY = y;

for (int j = x; j <= y; j++)
t[j]++;
}

x = t[0];
y = 0;

for (int i = 1; i <= maxY; i++)
{
if (t[i] > x)
{
x = t[i];
y = i;
}
}

std::cout << x << " " << y;

return 0;
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

@Up Nie mów że bardziej poprawniej, bo krócej nie znaczy lepiej.

Twój program żłopie już przy 1 teście.

Dla twojego programu słowo aab nie jest palindromem (bo oczywiście nie jest, ale pierwsze 2 litery tworzą palindrom (aa)). Sprawdzałeś w ogóle te testy ?

 

@Up - twoje 'poprawione' również u mnie nie przechodzi. Nadal dla 'aab' jest 'NIE'

Poza tym, gdzie uwzględniłeś warunki zadania, że 1<=T<=10 i 1<= liczba znaków <= 1 000 000 ?

 

@Up - nadal nie łyka tych testów

 

@Sopelek997

Czytałeś treść tego samego zadania co ja ?

Odnośnik do komentarza
Udostępnij na innych stronach

@Up Nie mów że bardziej poprawniej, bo krócej nie znaczy lepiej.

Twój program żłopie już przy 1 teście.

poprawiłem, wkradł mi się jeden break ;/

niech się wypowie ktoś inny, bo my się tak możemy bez końca sprzecazać kogo jest lepszy

 

Poza tym, gdzie uwzględniłeś warunki zadania, że 1<=T<=10 i 1<= liczba znaków <= 1 000 000 ?

te warunki są niekonieczne, bo przedstawiają ustalony zakres danych i wiadomo, że inne dane nie będą wpisywane

 

Dla twojego programu słowo aab nie jest palindromem (bo oczywiście nie jest, ale pierwsze 2 litery tworzą palindrom (aa)). Sprawdzałeś w ogóle te testy ?

no właśnie w moim rozumowaniu palindrom to wyraz typu "kajak", jakoś mnie nie przekonuje to, że aab jest palindromem, bo czytany od tyłu to baa.

 

pisze:

"pisane od tyłu jest takie same jak słowo pierwotne"

więc jak do chuja może być aab? dlaczego jest w przykładach niezgodnie z ich definicją?

Odnośnik do komentarza
Udostępnij na innych stronach

Tam jest o pod-słowach.

 

I według mnie poprawną odpowiedzią na to zadanie jest:

for ( int i = 1; i < T; i++ ) cout << "TAK";

 

Gdyż każde jedno-literowe słowo ( podsłowo ) jest palindromem.

 

PS

A najszybszym sposobem na sprawdzenie "palindromiczności" jest

slowo2 = slowo;

reverse ( slowo.begin(), slowo.end() );

return slowo2 == slowo;

Ta sygnatura jest pusta.

Odnośnik do komentarza
Udostępnij na innych stronach

Łap na 3.:

 


#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
   int n = 0, m = 0;
   cin>>n>>m;
   if(n < 1)
   {
       cout<<"n jest za male!";
       exit(0);
   }
   else if(m > 300)
   {
       cout<<"m jest za duze!";
       exit(0);
   }
   int map[n][m];
   int wynik = 0;

   for(int y = 0; y < n; y++)
   {
       for(int x = 0; x < m; x++)
       {
           cin>>map[x][y];
       }
   }


   for(int y = 0; y < n; y++)
   {
       for(int x = 0; x < m; x++)
       {
           int count = 0;
           int i = 0;
           while(true)
           {
               i++;
               if(i> m || i > n)
               {
                   break;
               }
               if(map[x][y] == map[x+i][y] && map[x][y] == map[x][y+i]
                  && map[x][y] == map[x+i][y+i])
               {
                   if(i > wynik)
                   {
                       wynik = i;

                   }
               }
           }
       }
   }
   cout<<wynik;
   cout<<"\nKoniec";
}

Dość brzydko napisane i nie wiem czy w 100% dobrze. Ja dałem tylko pomysł. :]

 

Ale przyznam, że zadania bardzo fajne.

Mam również zamiar wziąć udział w podobnym konkursie, ale u mnie to będzie wyglądało zdecydowanie marniej. Zadania będą bardziej opierać się na analizie algorytmów.

W tej olimpiadzie uczestnicy będą jakoś pogrupowani, czy wszystko samemu? Trudno mi uwierzyć, żeby jedna osoba podołała temu. Pytam z ciekawości :]

Odnośnik do komentarza
Udostępnij na innych stronach

@iLikeGood

@XAULIN

 

Dla was dwóch należy się 5 w profilu, i dzienny limit lajków, lecz poczekajcie z kilka godzin, bo już dzienny wykorzystalem dla: hfaua ;/

 

@EDIT

No i dla Sopelka dam też 5 w profilu, i 5 lajków za trud :P

 

@EDIT2:

 

@XAULIN

Nie, nie piszemy tego w jedną osobe, chociaż i takie przypadki były. Dobieramy się w grupy - max 4 osoby na jedną szkołe, no i piszemy :P Dostajemy 10 zadan i 60 minut na zrobienie jak najwiecej xD

(: .ćyż usnes am eiN

Odnośnik do komentarza
Udostępnij na innych stronach

Nie czaję tego 4.

"ile_kawalkow x" zwraca ile można otrzymać kawałków wykonując x cięć, więc jakim cudem przy x=3 program zwraca 7?

e.jpg

Smutek to skutek chęci w kontekście skutku

raczej niefrasobliwej wzglądu o treści zgryźliwej

ma postać walca co jeździ nam po palcach.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum Zadania OIG   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...