228972026-01-16 07:57:58emoke013Díjazás több helyezettnekcpp17Time limit exceeded 0/80600ms508 KiB
#include <iostream>

using namespace std;
///Backtracking modszer
int N, k,osszeg;
int v[20];
int s=0,db=0;
int kovetkezo()
{

    if(v[k]>1)
    {
        v[k]--;
        return true;
    }
    else
    {
        return false;
    }
}
int helyes()
{
    //if (v[k]>v[k-1]) return 0;
    s=0;
    for (int i=1; i<=k; i++) s+=v[i];
    for (int i=1; i<k; i++)
        if(v[i]==v[k])
            return 0;
    return 1;
}
int megoldas()
{
    if(k==N && s==osszeg)
        return 1;
    return 0;
}
void kiir()
{
    for (int i=1; i<=N; i++)
    {
        cout<<v[i]<<" ";
    }
    db++;
    cout << endl;
}

void backtracking()
{
    int vk;
    k=1;
    for (int i=1; i<=N; i++)
        v[i]=osszeg-(N*(N-1)/2)+1;
    while(k>0)
    {
        do {} while((vk=kovetkezo()) && !helyes());
        if(vk)
        {
            if(megoldas()) kiir();
            else
            {
                k++;
                v[k]=v[k-1];
            }
        }
        else
            k--;
    }
}
int main()
{
    cin>>N;
    cin>>osszeg;
    backtracking();

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Time limit exceeded580ms316 KiB
subtask20/5
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Wrong answer13ms316 KiB
6Time limit exceeded583ms316 KiB
7Time limit exceeded600ms316 KiB
subtask30/5
8Accepted2ms316 KiB
9Accepted1ms508 KiB
10Accepted4ms316 KiB
11Time limit exceeded583ms316 KiB
12Time limit exceeded600ms316 KiB
subtask40/15
13Accepted1ms508 KiB
14Accepted1ms508 KiB
15Time limit exceeded589ms316 KiB
16Time limit exceeded588ms316 KiB
17Time limit exceeded600ms316 KiB
subtask50/15
18Accepted1ms316 KiB
19Time limit exceeded570ms500 KiB
20Time limit exceeded570ms500 KiB
21Time limit exceeded570ms316 KiB
22Time limit exceeded600ms316 KiB
subtask60/15
23Accepted1ms508 KiB
24Time limit exceeded593ms316 KiB
25Accepted1ms316 KiB
26Time limit exceeded570ms500 KiB
27Time limit exceeded570ms500 KiB
28Time limit exceeded570ms316 KiB
29Time limit exceeded600ms316 KiB
30Time limit exceeded593ms316 KiB
31Time limit exceeded593ms316 KiB
32Accepted1ms316 KiB
33Time limit exceeded600ms316 KiB
34Time limit exceeded583ms316 KiB
35Accepted2ms508 KiB
36Time limit exceeded583ms316 KiB
37Time limit exceeded600ms316 KiB
38Time limit exceeded600ms316 KiB
39Time limit exceeded577ms316 KiB
subtask70/25
40Accepted1ms508 KiB
41Time limit exceeded593ms316 KiB
42Accepted1ms316 KiB
43Accepted1ms316 KiB
44Wrong answer13ms316 KiB
45Time limit exceeded583ms316 KiB
46Time limit exceeded600ms316 KiB
47Accepted2ms316 KiB
48Accepted1ms508 KiB
49Accepted4ms316 KiB
50Time limit exceeded583ms316 KiB
51Time limit exceeded600ms316 KiB
52Accepted1ms508 KiB
53Accepted1ms508 KiB
54Time limit exceeded589ms316 KiB
55Time limit exceeded588ms316 KiB
56Time limit exceeded600ms316 KiB
57Accepted1ms316 KiB
58Time limit exceeded570ms500 KiB
59Time limit exceeded570ms500 KiB
60Time limit exceeded570ms316 KiB
61Time limit exceeded600ms316 KiB
62Time limit exceeded593ms316 KiB
63Time limit exceeded593ms316 KiB
64Accepted1ms316 KiB
65Time limit exceeded600ms316 KiB
66Time limit exceeded583ms316 KiB
67Accepted2ms508 KiB
68Time limit exceeded583ms316 KiB
69Time limit exceeded600ms316 KiB
70Time limit exceeded600ms316 KiB
71Time limit exceeded577ms316 KiB
72Time limit exceeded578ms316 KiB
73Time limit exceeded578ms316 KiB
74Time limit exceeded578ms508 KiB
75Accepted4ms316 KiB
76Time limit exceeded600ms316 KiB
77Time limit exceeded580ms316 KiB
78Wrong answer24ms316 KiB
79Time limit exceeded580ms316 KiB
80Time limit exceeded600ms316 KiB
81Time limit exceeded583ms316 KiB