• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

CHAOS - Godzina chaosu

Object Storage Arubacloud
0 głosów
621 wizyt
pytanie zadane 20 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

Cześć, mam problem z zadaniem ze spoja(https://pl.spoj.com/problems/CHAOS/). Napisałem program który u mnie działa jak należy, ale spoj odrzuca mi go z powodu "Błędnej Odpowiedzi". Wie ktoś dla czego?

Mój kod:

#include <iostream>
#include <string>

using namespace std;

string czas;

bool testPalindromu(string napis)
{
    int i,j,w=0;
    napis.erase(2,1);
    if(napis[0]=='0')napis.erase(0,1);
    if(napis[0]=='0')napis.erase(0,1);
    if(napis[0]=='0')napis.erase(0,1);
    for(i=0,j=napis.length()-1;i<j;i++,j--)
    {
        if(napis[i]!=napis[j])
            w=1;
    }
    if(w==0)return true;
    else return false;
}

void dodajMinute()
{
    if(czas[4]=='9')
    {
        czas[4]='0';
        if(czas[3]=='5')
        {
            czas[3]='0';
            czas[1]++;
            if(czas[1]=='9'||czas[1]=='4'&&czas[0]=='2')
            {
                if(czas[1]=='4'&&czas[0]=='2')czas="00:00";
                else
                {
                    czas[1]=0;
                    czas[0]++;
                }
            }
        }
        else czas[3]++;
    }
    else czas[4]++;
}

int main()
{
    int t;
    cin>>t;
    for(int i=0; i<t; i++)
    {
        cin>>czas;
        dodajMinute();
        while(testPalindromu(czas)==false)
        {
            dodajMinute();
        }
        cout<<czas<<endl;
    }
    return 0;
}

 

1
komentarz 20 sierpnia 2018 przez niezalogowany

Dla godz 19:00 poprawna odpowiedz powinna wynosić 20:02, a nie 10:01. Podobnie dzieje się dla godzin:

08:58
08:59
09:59
19:00 - 19:59
komentarz 20 sierpnia 2018 przez Piotr Błaszczak Bywalec (2,890 p.)
Wiem, że jest coś nie tak z funkcją dodajMinute(). Tylko co? Podpowiesz czego nie uwzględniłem?
komentarz 20 sierpnia 2018 przez niezalogowany

Spróbuj jakoś poprawić tą część kodu:

 if(czas[1]=='9'||czas[1]=='4'&&czas[0]=='2')
            {
                if(czas[1]=='4'&&czas[0]=='2')czas="00:00";
                else
                {
                    czas[1]=0;
                    czas[0]++;
                }
            }

Z jakiegoś powodu coś tu nie działa. Ciężko mi coś więcej powiedzieć.

komentarz 20 sierpnia 2018 przez Piotr Błaszczak Bywalec (2,890 p.)
Już wiem! zamiast czas[1]=0; trzeba dać czas[1]='0';
komentarz 20 sierpnia 2018 przez Piotr Błaszczak Bywalec (2,890 p.)

O tak ma być:

   if(czas[1]=='0'||czas[1]=='4'&&czas[0]=='2')
            {
                if(czas[1]=='4'&&czas[0]=='2')czas="00:00";
                else
                {
                    czas[1]='0';
                    czas[0]++;
                }
            }

 

komentarz 20 sierpnia 2018 przez niezalogowany
O faktycznie :) Ja zastanawiałem się nad jakimiś błędami w warunkach, ale nie mogłem ich znaleźć :)

1 odpowiedź

0 głosów
odpowiedź 22 listopada 2019 przez Char Mander Nowicjusz (180 p.)

Mam problem z tym samym zadaniem - Godzina Chaosu: https://pl.spoj.com/problems/CHAOS/ . Mam bledna odpowiedz na spoju. Prawdopodobnie nie na 100% dobrze zrozumialem polecenie, ten fragment:

Dla każdego przypadku na wyjściu powinna pojawić się godzina w formacie "GG:MM". UWAGA: Sprawdzając czy godzina jest palindromem nie bierzemy pod uwag wiodących zer liczby GG, a w przpadku gdy GG = 0, wtedy nie bierzemy również pod uwagę zer wiodących liczby MM.

 Jako palindromy rozumiem kolejno: 00:00, 00:01, 00:02,00:03, 00:04, 00:05,00:06,00:07, 00:08,00:09, 00:11,00:22,00:33,00:44,00:55 i teraz uwaga: ALBO 1): 01:01, 02:02 i analogicznie do 09:09 i dalej od 10:01 nie mam watpliwosci ALBO 2): 01:01,01:11,01:21,01:31,01:41,01:51,02:02,i tak jak dla 01 godziny analogicznie dla godziny 02, godziny 03 az do godziny 09 i dalej od 10:01 nie mam watpliwosci. Wiec prosze o podpowiedz ktora wersja 1) czy 2) jest prawidlowa. 3) I jeszcze dowiedzialem sie,  ze tak jak wyzej, np. 01:01 to palindrom a nie 01:10, czy to poprawne rozumowanie?

komentarz 24 lutego 2021 przez Billy Użytkownik (680 p.)
Hejka, wiesz o co w końcu chodziło?

Podobne pytania

0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 29 listopada 2020 w C i C++ przez milosz123 Użytkownik (720 p.)
0 głosów
1 odpowiedź 745 wizyt
0 głosów
1 odpowiedź 2,143 wizyt
pytanie zadane 30 kwietnia 2016 w C i C++ przez maciek061 Gaduła (4,490 p.)

92,536 zapytań

141,376 odpowiedzi

319,449 komentarzy

61,920 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...