n*n*n的图形,m条线,每条线上的方格被删除。问一共删除了多少个方格

ans=m*n 。然后推断一下直线相交的交点。去重就可以

#include "stdio.h"
#include "string.h"
int xy[1010][1010],xz[1010][1010],yz[1010][1010],hash[1010]; struct node
{
int x,y,z;
} mark[1010];
int main()
{
int Case,n,m,i,j,cnt,a,b,ans,sum;
char ch1,ch2;
scanf("%d",&Case);
while (Case--)
{
scanf("%d%d",&n,&m);
if (m==0)
{
printf("0\n");
continue;
}
memset(xy,0,sizeof(xy));
memset(xz,0,sizeof(xz));
memset(yz,0,sizeof(yz)); cnt=0;
while (m--) // 去重边
{
getchar();
scanf("%c=%d,%c=%d",&ch1,&a,&ch2,&b);
if (ch1=='X' && ch2=='Y' && xy[a][b]==0)
{
mark[cnt].x=a;
mark[cnt].y=b;
mark[cnt++].z=-1;
xy[a][b]=1;
}
if (ch1=='Y' && ch2=='X' && xy[b][a]==0)
{
mark[cnt].x=b;
mark[cnt].y=a;
mark[cnt++].z=-1;
xy[b][a]=1;
}
if (ch1=='X' && ch2=='Z' && xz[a][b]==0)
{
mark[cnt].x=a;
mark[cnt].z=b;
mark[cnt++].y=-1;
xz[a][b]=1;
}
if (ch1=='Z' && ch2=='X' && xz[b][a]==0)
{
mark[cnt].x=b;
mark[cnt].z=a;
mark[cnt++].y=-1;
xz[b][a]=1;
}
if (ch1=='Y' && ch2=='Z' && yz[a][b]==0)
{
mark[cnt].y=a;
mark[cnt].z=b;
mark[cnt++].x=-1;
yz[a][b]=1;
}
if (ch1=='Z' && ch2=='Y' && yz[b][a]==0)
{
mark[cnt].y=b;
mark[cnt].z=a;
mark[cnt++].x=-1;
yz[b][a]=1;
}
} ans=n;
for (i=1; i<cnt; i++) //去重点
{
memset(hash,0,sizeof(hash));
sum=n;
for (j=0; j<i; j++)
{
if (mark[i].x==mark[j].x && mark[i].x!=-1)
{
if (mark[i].y==-1 && mark[j].y!=-1)
{
if (hash[mark[j].y]==0)
sum--;
hash[mark[j].y]=1;
}
if (mark[i].z==-1 && mark[j].z!=-1)
{
if (hash[mark[j].z]==0)
sum--;
hash[mark[j].z]=1;
}
} if (mark[i].y==mark[j].y && mark[i].y!=-1)
{
if (mark[i].x==-1 && mark[j].x!=-1)
{
if (hash[mark[j].x]==0)
sum--;
hash[mark[j].x]=1;
}
if (mark[i].z==-1 && mark[j].z!=-1)
{
if (hash[mark[j].z]==0)
sum--;
hash[mark[j].z]=1;
}
} if (mark[i].z==mark[j].z && mark[i].z!=-1)
{
if (mark[i].x==-1 && mark[j].x!=-1)
{
if (hash[mark[j].x]==0)
sum--;
hash[mark[j].x]=1;
}
if (mark[i].y==-1 && mark[j].y!=-1)
{
if (hash[mark[j].y]==0)
sum--;
hash[mark[j].y]=1;
}
}
} ans+=sum;
}
printf("%d\n",ans);
}
return 0;
}

HDU 3682 水模拟的更多相关文章

  1. hdu 3682 10 杭州 现场 C - To Be an Dream Architect 简单容斥 难度:1

    C - To Be an Dream Architect Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...

  2. hdu 3682 10 杭州 现场 C To Be an Dream Architect 容斥 难度:0

    C - To Be an Dream Architect Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...

  3. CodeForces.158A Next Round (水模拟)

    CodeForces.158A Next Round (水模拟) 题意分析 校赛水题的英文版,坑点就是要求为正数. 代码总览 #include <iostream> #include &l ...

  4. CodeForces.71A Way Too Long Words (水模拟)

    CodeForces71A. Way Too Long Words (水模拟) 题意分析 题怎么说你怎么做 没有坑点 代码总览 #include <iostream> #include & ...

  5. HDU-1042-N!(Java大法好 &amp;&amp; HDU大数水题)

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  6. Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) A B C D 水 模拟 并查集 优先队列

    A. Broken Clock time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  7. HDU 4121 Xiangqi 模拟题

    Xiangqi Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4121 ...

  8. hdu 5071 Chat(模拟)

    题目链接:hdu 5071 Chat 题目大意:模拟题. .. 注意最后说bye的时候仅仅要和讲过话的妹子说再见. 解题思路:用一个map记录每一个等级的妹子讲过多少话以及是否有这个等级的妹子.数组A ...

  9. hdu 4740【模拟+深搜】.cpp

    题意: 给出老虎的起始点.方向和驴的起始点.方向.. 规定老虎和驴都不会走自己走过的方格,并且当没路走的时候,驴会右转,老虎会左转.. 当转了一次还没路走就会停下来.. 问他们有没有可能在某一格相遇. ...

随机推荐

  1. 打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

    前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字 ...

  2. 兼容IE8

    由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...

  3. Win32 error code message

    http://fit.c2.com/fit/files/LispPlatform/lisp/clisp-2.28/src/errwin32.d # Calls a function, passing ...

  4. as3垃圾回收机制

    as3垃圾回收机制 垃圾回收机制详解 能力越大责任越大,这对actionscript3.0来说一点没错.引入这些新控件带来一个副作用:垃圾收集器不再支持自动为你收集 垃圾等假设.也就是说Flash开发 ...

  5. 什么是webview

    WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化W ...

  6. python的FTP模块

    python本身自带一个FTP模块,可以轻松实现FTP的上传,下载等操作.下面来看看用法: from ftplib import FTP import socket    #用来设置超时时间 FTP. ...

  7. 批处理命令中set定义的两种变量介绍 计算机基础知识

    摘自: http://www.amhl.net/wenzhang/DianNaoChangShi/20101201/127422.html 所谓的自定义变量,就是由我们来给它赋予值的变量. ①赋值变量 ...

  8. 【云计算】OpenStack Horizon DashBoard定制化,完整实现前后台交互

    项目代码见GitHub:https://github.com/junneyang/openstack-customization-example 参考资料: Install and configure ...

  9. 使用git-svn迁移SVN至GitLab

    使用git-svn迁移SVN至GitLab 1.安装git和git-svn 后面的步骤中对git版本有一定要求,通过yum安装的git版本较低,这里进行编译安装 [root@DevTest ~]# y ...

  10. nginx 相关命令 nginx -s reload/stop/quit

    nginx 相关命令 学习了:https://www.cnblogs.com/zoro-zero/p/6590503.html start nginx  或者在linux上面直接 nginx ngin ...