Cod sursa(job #3315174)
| Utilizator | Data | 12 octombrie 2025 18:29:06 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream cin("1-sir.in");
ofstream cout("1-sir.out");
int n, s, cnt=0;
int f[65800];
int v[300];
void comb(int k, int sum)
{
int cs;
if(k==n)
{
if(sum==s)
{
cnt++;
}
}
else
{
if(f[sum+32898]==0)
{
cs=cnt;
v[k+1]=v[k]+1;
comb(k+1, sum+v[k]+1);
v[k+1]=v[k]-1;
comb(k+1, sum+v[k]-1);
f[sum+32898]=cnt-cs;
}
else
{
cnt+=f[sum+32898];
}
}
}
int main()
{
cin>>n>>s;
v[1]=0;
comb(1, 0);
cout<<cnt;
return 0;
}