Gym 101630(NEERC 17) D.Designing the Toy
题目大意:给出三视图方向上分别能看到的正方形数a,b,c(1<=a,b,c<=100),在-100<=x,y,z<=100的范围内构造出满足情况的一种正方体的摆放方式
做法很简单,首先找到a,b,c中的最大值,如果最大值满足小于等于另两个值的乘积,则有解,否则无解;明确这一点之后,便可以将所有正方体平铺在最大值所在的平面上进行构造。
#include<bits/stdc++.h>
using namespace std; typedef long long ll;
const int mod=1e9+;
const int maxn=1e5+;
const int inf=0x3f3f3f3f;
const double eps=1e-;
const double pi=acos(-1.0);
#define mem(s,v) memset(s,v,sizeof(s))
#define pdd pair<double,double>
#define pii pair<int,int> struct node{
int num,id;
};
node a[]; int cmp(node x,node y){
return x.num<y.num;
} int mp[][]; int main(){
while(~scanf("%d%d%d",&a[].num,&a[].num,&a[].num)){
memset(mp,,sizeof(mp));
for(int i=;i<;++i) a[i].id=i+;
sort(a,a+,cmp);
if(a[].num>a[].num*a[].num){
puts("-1");
continue;
}
int j=;
for(int i=;i<a[].num;++i){
if(j<a[].num){
mp[i][j]=;
j++;
}
else{
mp[i][j-]=;
}
}
int t=a[].num-a[].num;
for(int i=;i<t;++i){
int flag=;
for(int k=;k<a[].num;++k){
for(int j=;j<a[].num;++j){
if(!mp[k][j]){
mp[k][j]=;
flag=;
break;
}
}
if(!flag) break;
}
}
printf("%d\n",a[].num);
int x,y,z;
if(a[].id==){
z=;
if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",i,j,z);
}
}
}
else if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",j,i,z);
}
}
}
}
else if(a[].id==){
y=;
if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",i,y,j);
}
}
}
else if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",j,y,i);
}
}
}
}
else if(a[].id==){
x=;
if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",x,j,i);
}
}
}
else if(a[].id==){
for(int i=;i<a[].num;++i){
for(int j=;j<a[].num;++j){
if(mp[i][j]) printf("%d %d %d\n",x,i,j);
}
}
}
}
}
return ;
}
Gym 101630(NEERC 17) D.Designing the Toy的更多相关文章
- 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) 日常训练
A - Archery Tournament 题目大意:按时间顺序出现靶子和射击一个位置,靶子的圆心为(x, y)半径为r,即圆与x轴相切,靶子不会重叠,靶子被击中后消失, 每次射击找出哪个靶子被射中 ...
- 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17)
2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) A 题意:有 n 个时刻 ...
- Codeforces Gym 101190 NEERC 16 .D Delight for a Cat (上下界的费用流)
ls是一个特别堕落的小朋友,对于n个连续的小时,他将要么睡觉要么打隔膜,一个小时内他不能既睡觉也打隔膜 ,因此一个小时内他只能选择睡觉或者打隔膜,当然他也必须选择睡觉或打隔膜,对于每一个小时,他选择睡 ...
- Codeforces Gym 101190 NEERC 16 .L List of Primes(递归)
ls特别喜欢素数,他总是喜欢把素数集合的所有子集写下来,并按照一定的顺序和格式.对于每一个子集,集合内 的元素在写下来时是按照升序排序的,对于若干个集合,则以集合元素之和作为第一关键字,集合的字典序作 ...
- Codeforces Gym 101190 NEERC 16 G. Game on Graph(博弈+拓扑)
Gennady and Georgiy are playing interesting game on a directed graph. The graph has n vertices and m ...
- 2017 NEERC
2017 NEERC Problem A. Archery Tournament 题目描述:在二维平面上,会陆续出现一些圆,以及一些询问,询问点是否在圆内,如果是,则输出那个圆,并把那个圆删掉,否则输 ...
- [C++]Yellow Cards - GYM - 102348A(Practice *) - CodeForces
1 Problem Description Problem The final match of the Berland Football Cup has been held recently. Th ...
- Codeforces Gym 101630J Travelling from Petersburg to Moscow (最短路)
题目链接 http://codeforces.com/gym/101630/attachments 题解 zyb学长的题. 先枚举第\(k\)大的边权,设其边权为\(x\),然后把每条边边权减掉\(x ...
- NEERC-2017
A. Archery Tournament 用线段树套set维护横坐标区间内的所有圆,查询时在$O(\log n)$个set中二分查找即可. 时间复杂度$O(n\log^2n)$. #include& ...
随机推荐
- BN层
论文名字:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 论 ...
- ORACLE COMMENTON 使用
oracle中用comment on命令给表或字段加以说明,语法如下:COMMENT ON { TABLE [ schema. ] { table | view } | COLUMN [ s ...
- Confluence 6 从外部目录中同步数据手动同步缓存
你可以通过单击用户目录(User Directories)界面中的同步(Synchronize)按钮,手动进行同步.如果一个同步进程已经正在同步的过程中的话,你就不能在上一个同步进程完成之前重新进行同 ...
- C++&C#外挂(内存修改)
大学时候因为主修C#语言(当然现在做的是javaweb开发),那时在网上学了用C#做外挂的教程,外挂嘛,大家都懂的.这里只是低级的修改内存,不涉及到截获数据包.如果是欺骗服务器,修改服务器数据,那就难 ...
- CF938G Shortest Path Queries
首先只有询问的话就是个WC的题,线性基+生成树搞一搞就行. 进一步,考虑如果修改操作只有加边怎么做. 好像也没有什么变化,只不过需要在线地往线性基里插入东西而已. 删边呢? 注意到线性基这个玩意是不支 ...
- Cron\CronExpression::setPart("24")
利用laravle实现定时器的功能的时候,报错说:Cron\CronExpression::setPart("24"). 后来发现是时间设置的问题,他不能设置("24:0 ...
- Service Account和其secrets 作用和场景,看了不亏。。
Service Account概念的引入是基于这样的使用场景: 运行在pod里的进程需要调用Kubernetes API以及非Kubernetes API的其它服务.Service Account它并 ...
- 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...
- gleez开发环境搭建
一.虚拟主机目录配置 1.配置apache服务器 Apache是常用的web服务器,即常见的用来处理http协议,处理网页的. Apache的配置文件都存放在/etc/apache2/目录,这里有很多 ...
- ubuntu软件(查看文件差异)
你可以在ubuntu系统自带的软件--->ubuntu软件中心输入:meld diff 就可以安装.