bzoj 3234: [Ahoi2013]立方体
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3234
题意:求长方体交的表面积。
思路:flood-fill
const int N=205;
int f[N][N][N];
bool visit[N][N][N];
int n;
int dx[]={1,-1,0,0,0,0};
int dy[]={0,0,1,-1,0,0};
int dz[]={0,0,0,0,1,-1};
queue<pair<int,pair<int,int> > > Q;
int main()
{
n=getInt();
int i;
int maxX=0,maxY=0,maxZ=0;
int minX=222,minY=222,minZ=222;
for(i=1;i<=n;i++)
{
int x1=getInt(),y1=getInt(),z1=getInt();
int x2=getInt(),y2=getInt(),z2=getInt();
x1++;
y1++;
z1++;
x2++;
y2++;
z2++;
f[x1][y1][z1]++;
f[x1][y1][z2]--; f[x1][y2][z1]--; f[x2][y1][z1]--;
f[x2][y2][z1]++; f[x2][y1][z2]++; f[x1][y2][z2]++;
f[x2][y2][z2]--;
minX=min(minX,x1);
minY=min(minY,y1);
minZ=min(minZ,z1);
maxX=max(maxX,x2+2);
maxY=max(maxY,y2+2);
maxZ=max(maxZ,z2+2);
}
int j,k;
for(i=minX;i<=maxX;i++) for(j=minY;j<=maxY;j++) for(k=minZ;k<=maxZ;k++)
{
f[i][j][k]+=f[i-1][j][k]+f[i][j-1][k]+f[i][j][k-1];
f[i][j][k]-=f[i-1][j-1][k]+f[i-1][j][k-1]+f[i][j-1][k-1];
f[i][j][k]+=f[i-1][j-1][k-1];
}
Q.push(MP(maxX,MP(maxY,maxZ)));
visit[maxX][maxY][maxZ]=1;
int ans=0;
while(!Q.empty())
{
int x=Q.front().first;
int y=Q.front().second.first;
int z=Q.front().second.second;
Q.pop();
for(i=0;i<6;i++)
{
int xx=x+dx[i];
int yy=y+dy[i];
int zz=z+dz[i];
if(xx>=minX-1&&xx<=maxX&&yy>=minY-1&&yy<=maxY&&zz>=minZ-1&&zz<=maxZ&&!visit[xx][yy][zz])
{
if(f[xx][yy][zz]) ans++;
else Q.push(MP(xx,MP(yy,zz))),visit[xx][yy][zz]=1;
}
}
}
printf("%d\n",ans);
}
bzoj 3234: [Ahoi2013]立方体的更多相关文章
- [AHOI2013]立方体(三维bit)
[Ahoi2013]立方体 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 130 Solved: 55[Submit][Status] Descrip ...
- BZOJ 3233: [Ahoi2013]找硬币
BZOJ 3233: [Ahoi2013]找硬币 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 64 MB Description ...
- BZOJ 3235: [Ahoi2013]好方的蛇
BZOJ 3235: [Ahoi2013]好方的蛇 标签(空格分隔): OI-BZOJ OI-DP OI-容斥原理 Time Limit: 10 Sec Memory Limit: 64 MB Des ...
- BZOJ 3238: [Ahoi2013]差异 [后缀数组 单调栈]
3238: [Ahoi2013]差异 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2326 Solved: 1054[Submit][Status ...
- BZOJ 3237: [Ahoi2013]连通图
3237: [Ahoi2013]连通图 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1161 Solved: 399[Submit][Status ...
- BZOJ 3236: [Ahoi2013]作业
3236: [Ahoi2013]作业 Time Limit: 100 Sec Memory Limit: 512 MBSubmit: 1393 Solved: 562[Submit][Status ...
- Bzoj 3236: [Ahoi2013]作业 莫队,分块
3236: [Ahoi2013]作业 Time Limit: 100 Sec Memory Limit: 512 MBSubmit: 1113 Solved: 428[Submit][Status ...
- [BZOJ 3236] [Ahoi2013] 作业 && [BZOJ 3809] 【莫队(+分块)】
题目链接: BZOJ - 3236 BZOJ - 3809 算法一:莫队 首先,单纯的莫队算法是很好想的,就是用普通的第一关键字为 l 所在块,第二关键字为 r 的莫队. 这样每次端点移动添加或删 ...
- bzoj 3225: [Sdoi2008] 立方体覆盖 题解
[原题] 3225: [Sdoi2008]立方体覆盖 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 51 Solved: 36 [Submit][S ...
随机推荐
- EBS登陆链接网址
SELECT home_url FROM icx_parameters; SELECT profile_option_value FROM fnd_profile_option_values WHER ...
- NOIP201208同余方程
NOIP201208同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一行,包含两个正整数a, b,用一个空格隔开. 输出格式 输出只有一行,包含 ...
- 根据linux内核源码查找recv返回EBADF(errno 9)的原因
linux的内核版本是2.6.18,x86_64. man里的解释是: EBADF The argument s is an invalid descriptor 我的模拟测试环境是: 前端loadr ...
- java多线程中的生产者与消费者之等待唤醒机制@Version1.0
一.生产者消费者模式的学生类成员变量生产与消费demo,第一版1.等待唤醒: Object类中提供了三个方法: wait():等待 notify():唤醒单个线程 notify ...
- jQuery extend() & jQuery.fn.extend(),插件编写
资料来源:网上资料整理并自行改编测试.复制以下代码并依赖jquery.js,jquery.validate.js即可执行.有误之处,请@我啊,敬请赐教. <!DOCTYPE html PUBLI ...
- vlc分析
vlc的主界面对应的代码在vlc-2.2.1\modules\gui\qt4\main_interface.cpp.在相同目录下的qt4.cpp的module模块open函数里边new出实例: /* ...
- Spring中@Cacheable的用法
在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式.不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以, ...
- java 面试每日一题7
题目:判断101-200之间有多少个素数,并输出所有素数. 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数. public cla ...
- CSS3前缀自动补全方案和插件
第一种方法:prefix free,js插件,大小2kb,直接导入,无需任何浏览器兼容前缀 <script src="prefixfree.min.js"></s ...
- [充电][ios]ios充电接口
知乎推荐:http://www.zhihu.com/topic/19693633/top-answers 外文教学网站: http://www.raywenderlich.com/ 著作权归作者所有. ...