Pagini recente » Cod sursa (job #636219) | Cod sursa (job #1499244) | Cod sursa (job #1911975) | Cod sursa (job #859279)
Cod sursa(job #859279)
#include <fstream>
using namespace std;
ifstream f ( "aladdin2.in" );
#define LE 10666
ofstream g ( "aladdin2.out" );
int n, m;
#define char short int
char V1[LE], V2[LE];
int i;
char V3[LE];
void mul ( char A[],char val )
{
int i, t = 0;
for ( i = 1; i <= A[0] || t; ++i, t /= 10 )
A[i] = ( t += A[i] * val ) % 10;
A[0] = i - 1;
}
void add ( char A[], char B[0] )
{
int i, t=0;
for ( i = 1; i <= A[0] || i <= B[0] || t; t /= 10, ++i )
A[i] = ( t += A[i] + B[i] ) % 10;
A[0] = i - 1;
}
void scad ( char A[], char B[] )
{
for ( i = 1; i <= A[0]; ++i )
{
A[i] = A[i] - B[i];
if ( A[i] < 0 )
A[i] += 10, A[i+1]--;
}
for ( ; A[A[0]] == 0 && A[0]; --A[0] );
}
int main()
{
f >> n >> m;
V1[0] = V1[1] = V2[0] = V2[1] = 1;
for ( i = 1; i <= n; ++i )
mul ( V1, 2 );
for ( i = 1; i <= m; ++i )
mul ( V2, 2 );
add ( V1, V2 );
V3[0]=1;
V3[1]=2;
scad(V1,V3);
for ( i = V1[0]; i >= 1; --i )
g << ( int ) V1[i];
f.close();
g.close();
return 0;
}