题目名称 248. [POI 2000] 画家的工作室
输入输出 mal.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 11
题目来源 Gravatarcqw 于2009-01-02加入
开放分组 全部用户
提交状态
分类标签
递推 高精度
分享题解
通过:6, 提交:12, 通过率:50%
Gravatar.Xmz 100 0.008 s 0.26 MiB C++
Gravatarcstdio 100 0.013 s 0.29 MiB C++
Gravatarcstdio 100 0.031 s 0.29 MiB C++
Gravatarcstdio 100 0.031 s 0.32 MiB C++
Gravatarlc 100 0.033 s 0.27 MiB Pascal
Gravatarcstdio 100 0.042 s 0.29 MiB C++
Gravatar.Xmz 81 0.008 s 0.26 MiB C++
Gravatar.Xmz 72 0.008 s 0.26 MiB C++
Gravatarcstdio 72 0.029 s 0.29 MiB C++
Gravatarcstdio 72 0.293 s 0.29 MiB C++
关于 画家的工作室 的近10条评论(全部评论)
用手动转移的都是看别人题解的吧2333333333
数组开小反而更慢也是醉了……
Gravatarcstdio
2014-09-11 22:17 1楼

248. [POI 2000] 画家的工作室

★★★   输入文件:mal.in   输出文件:mal.out   简单对比
时间限制:1 s   内存限制:128 MiB

画家的工作室正在准备大规模生产绘画作品。绘画作品准备利用不同尺寸的正方形来完成,一个尺寸为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