题目大意:给出三视图方向上分别能看到的正方形数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的更多相关文章

  1. 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) 日常训练

    A - Archery Tournament 题目大意:按时间顺序出现靶子和射击一个位置,靶子的圆心为(x, y)半径为r,即圆与x轴相切,靶子不会重叠,靶子被击中后消失, 每次射击找出哪个靶子被射中 ...

  2. 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 个时刻 ...

  3. Codeforces Gym 101190 NEERC 16 .D Delight for a Cat (上下界的费用流)

    ls是一个特别堕落的小朋友,对于n个连续的小时,他将要么睡觉要么打隔膜,一个小时内他不能既睡觉也打隔膜 ,因此一个小时内他只能选择睡觉或者打隔膜,当然他也必须选择睡觉或打隔膜,对于每一个小时,他选择睡 ...

  4. Codeforces Gym 101190 NEERC 16 .L List of Primes(递归)

    ls特别喜欢素数,他总是喜欢把素数集合的所有子集写下来,并按照一定的顺序和格式.对于每一个子集,集合内 的元素在写下来时是按照升序排序的,对于若干个集合,则以集合元素之和作为第一关键字,集合的字典序作 ...

  5. 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 ...

  6. 2017 NEERC

    2017 NEERC Problem A. Archery Tournament 题目描述:在二维平面上,会陆续出现一些圆,以及一些询问,询问点是否在圆内,如果是,则输出那个圆,并把那个圆删掉,否则输 ...

  7. [C++]Yellow Cards - GYM - 102348A(Practice *) - CodeForces

    1 Problem Description Problem The final match of the Berland Football Cup has been held recently. Th ...

  8. Codeforces Gym 101630J Travelling from Petersburg to Moscow (最短路)

    题目链接 http://codeforces.com/gym/101630/attachments 题解 zyb学长的题. 先枚举第\(k\)大的边权,设其边权为\(x\),然后把每条边边权减掉\(x ...

  9. NEERC-2017

    A. Archery Tournament 用线段树套set维护横坐标区间内的所有圆,查询时在$O(\log n)$个set中二分查找即可. 时间复杂度$O(n\log^2n)$. #include& ...

随机推荐

  1. Codeforces 534B - Covered Path

    534B - Covered Path 思路:贪心,每一秒取尽可能大并且可以达到的速度. 画张图吧,不解释了: 代码: #include<bits/stdc++.h> using name ...

  2. PHP使用phpstorm进行断点调试

    1.下载xdebug模块 (https://xdebug.org/) 注意:带"ts"是线程安全的意思,"nts"的他没有标示,也就是说,如果是nts的要下载没 ...

  3. centos7的FTP服务vsftpd里建立虚拟用户不同目录分配不同权限

    1. virtual_use_local_privs参数 当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限: 当virtual_use_local_privs ...

  4. 查询ORACLE存储关联表

    SELECT DISTINCT * FROM user_sourceWHERE TYPE = 'PROCEDURE'AND upper(text) LIKE '%PS_KL_ABS_002_DATA% ...

  5. 雷林鹏分享:Ruby 哈希(Hash)

    Ruby 哈希(Hash) 哈希(Hash)是类似 "employee" => "salary" 这样的键值对的集合.哈希的索引是通过任何对象类型的任意键 ...

  6. EF学习-获取实体框架01

    实体框架由 EF 设计器(包含在 Visual Studio 中)和 EF Runtime(在 NuGet 上提供)组成. EF 设计器包含在 Visual Studio 中 最新版本的实体框架设计器 ...

  7. Python练习题--持续更新

    1.你是一个高级测试工程师,现在要做性能测试,需要你写一个函数,批量生成一些注册使用的账号. 产生的账号是以@163.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大 ...

  8. zzuli2130卡时bfs题

    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2130 2130: hipercijevi Time Limit: 1 Sec  Memory Li ...

  9. HDU-5050 Divided Land (二进制求GCD)

    题目大意:将两个二进制数的GCD用二进制数表示出来. 题目分析:这道题可以用java中的大数类AC. 代码如下: import java.io*; import java.math.BigIntege ...

  10. JAVA计算文件的crc32校验码

    import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...