Witam , mam problem z zadaniem do SPOJA (nie mogę napisać na forum SPOJA bo jest problem jakiś) kod działa i wypisuje poprawne dane dla przykładów ale SPOJ nie chcę go zaakceptować szukałem w google i nic nie znalazłem , ktoś pomoże?
link do zadania http://pl.spoj.com/problems/ETI06E1/
Sorki za kod :D
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int maxx = 8;
int x = 0;
int za , od , countt;
bool brkk = false ;
int buf[10001];
char ciag[10001];
//-------------------------------------------------------------------
void nastepne_rozwiazanie()
{
buf[0]++;
for(int i = 0; i < za; i++){
if(buf[i] == maxx){
buf[i+1]++;
buf[i] = 1;
}
}
}
//-------------------------------------------------------------------
void wypisz_rozwiazanie()
{
x = 0;
for(int i = 0; i < za; i++){
int it = buf[x];
string tmp = "";
for(int j = 0; j < it; j++)
tmp += ciag[i+j];
int xx = atoi(tmp.c_str());
for(int j = 0; j < xx; j++)
cout << ciag[i+it];
i = i + it;
x++;
}
}
//-------------------------------------------------------------------
bool sprawdz_rozwiazanie()
{
countt = 0;
x = 0;
for(int i = 0; i < za; i++){
int it = buf[x];
string tmp = "" ;
for(int j = 0; j < it; j++){
tmp += ciag[i+j] ;
}
if(ciag[i] == '0'){
countt = 0;
brkk = true;
return true;
}
if(brkk){
brkk = false;
break;
}
countt += atoi(tmp.c_str());
i = i + it;
x++;
}
if(countt == od)
return false;
return true;
}
//-------------------------------------------------------------------
void wczytaj_dane(){
for(int i = 0; i < 10001; i++){
buf[i] = 1;
ciag[i] = '0';
}
cin >> za >> od;
cin >> ciag;
}
//-------------------------------------------------------------------
int main(){
wczytaj_dane();
while(sprawdz_rozwiazanie()){
nastepne_rozwiazanie();
}
wypisz_rozwiazanie();
}