Problem z zadaniem - Spoj.pl
KoZaK_Pl
10.11.2011
Witam.
Mam problem z tym zadaniem - http://pl.spoj.pl/problems/BFN1/ na spoju. Może ktoś dać kod albo chociaż wyjaśnić ocb?
pozdro
Mam problem z tym zadaniem - http://pl.spoj.pl/problems/BFN1/ na spoju. Może ktoś dać kod albo chociaż wyjaśnić ocb?
pozdro
ExBiT
10.11.2011
Łap moje wypociny. Co prawda dla standardowego OP działa, lecz nie wiem, jak to jest przy dodatkowych testach.
#include <iostream> #include <string> #include <sstream> using namespace std; class Wynik { public: string pal; int dod; void show() { cout << pal << " " << dod << '\n'; } }; string reverse(string wyraz) { char c; int j = wyraz.length() - 1; for(int i = 0; i < j; i++, j--) { c = wyraz[i]; wyraz[i] = wyraz[j]; wyraz[j] = c; } return wyraz; } int main() { int t, n, p, id; string txt; Wynik w[1000]; cin >> t; for(int i = 0; i < t; i++) { cin >> n; ostringstream kon; kon << n; txt = kon.str(); id = 0; while(txt != reverse(txt) && ++id) { istringstream kon2(reverse(txt)); kon2 >> p; n += p; ostringstream kon3; kon3 << n; txt = kon3.str(); } w[i].pal = txt; w[i].dod = id; } for(int i = 0; i < t; i++) w[i].show(); cin.sync(); cin.get(); return 0; }
KoZaK_Pl
10.11.2011
Dzięki. Spoj przyjmuje. Kod przeanalizowałem i myślę, że rozumiem. Oczywiście leci + i temat do zamknięcia.