[POI2000]画家的工作室

Grade 0 Open Time Tuesday, 22 January 2013, 11:05 am
Discount 0.8 Time Discount Tuesday, 22 January 2013, 11:05 am
Allow late Yes Close Time Tuesday, 22 January 2013, 11:05 am
Input file mal.in Output file mal.out

画家的工作室正在准备大规模生产绘画作品。绘画作品准备利用不同尺寸的正方形来完成,一个尺寸为I的正方形包括2^I行2^I列,并且在某些行与列 的交叉处有孔。尺寸为0的正方形有一个孔,对于I>0,尺寸为I的正方形由4个2^(I-1)*2^(I-1)的正方形构成。如下图:“bez otworow”在波兰语中表示没有孔,“matryca stopnia”表示尺寸大小。

Image:POI9801_1.jpg

在右边的正方形以及左下角的正方形都是尺寸为I-1的正方形,而左上角的正方形内没有孔。图画是用下面的方式构成的:首先,我们固定三个非 负整数n,x,y。然后,我们把两个尺寸均为n的正方形重叠起来,将其中一个向右移x列向上移y行。我们把它们放到一张白色的帆布上,再将黄色的颜料覆盖 到这两个正方形重叠的地方。用这种方法我们在帆布上两个正方形孔重叠的地方得到了黄色的斑点。

例子: 考虑两个尺寸为2的正方形。

Image:POI9801_2.jpg

上面的正方形被向上移了2行向右移了2列。有3个符合要求的孔。

任务:

写一个程序: 从文件读入两个正方形的尺寸以及上方的正方形将要被移动的行列数。计算帆布上黄色斑点的数目。把结果写入文件。

输入:

在文件MAL.IN的第一行有一个整数n(0<=n<=100),表示用来生产作品的正方形尺寸。第二行有一个整数x第三行有一个整数y(0<=x,y<=2^n),x y表示上方正方形需要移动的列数与行数。

输出:

在输出文件的第一行应当被写入一个整数表示帆布上的斑点数。

样例输入:

2
2
2

样例输出:

3