Pagini recente » Cod sursa (job #1193710) | Cod sursa (job #2764511) | Cod sursa (job #2909860) | Cod sursa (job #2426576) | Cod sursa (job #2381984)
#include <bits/stdc++.h>
#define N 105
using namespace std;
ifstream fin("pavare2.in") ;
ofstream fout("pavare2.out") ;
long long dp[N][N][5] ;
vector<int> sl;
int main()
{
int n , a , b , k , i , j ;
long long sol = 0 ;
fin >> n >> a >> b ;
fin >> k ;
dp[1][1][0] = 1 ;
dp[1][1][1] = 1 ;
for ( i = 2 ; i <= n ; i++ )
{
for ( j = 2 ; j <= a ; j++ )
dp[i][j][0] = dp[i-1][j-1][0] ;
for ( j = 2 ; j <= b ; j++ )
dp[i][j][1] = dp[i-1][j-1][1] ;
for ( j = 1 ; j <= a ; j++ )
dp[i][1][1] = dp[i][1][1] + dp[i-1][j][0] ;
for ( j = 1 ; j <= b ; j++ )
dp[i][1][0] = dp[i][1][0] + dp[i-1][j][1] ;
}
for ( j = 1 ; j <= max(a,b) ; j++ )
sol = sol + dp[n][j][0] + dp[n][j][1] ;
fout << sol << '\n' ;
for ( i = 1 ; i <= n/a ; i++ )
{
for ( j = 1 ; j <= a ; j++ )
sl.push_back(0) ;
sl.push_back(1) ;
}
for ( i = 0 ; i < n ; i++ )
fout << sl[i] ;
}