给你一个 n ∗ n ∗ n n*n*n n∗n∗n的立方体,有一些单位立方体已经没了.单位立方体重1,且颜色是单一的 给出前左右后顶六个视图,判断物体剩下的最大重量. 基本想法:首先如果某个视图里面有一个位置是".",那么那个视图对应视角的n个方块就要全部删完不可,否则会矛盾. 其次,如果出现颜色不同的情况,也得删删,而且不难发现由于每个方格颜色都是一样的,我们可以用三元组 c o l o r ( x , y , z ) color(x,y,z) color(x,y,z)代表一个方格的颜色,颜色不同就一直去删掉. 注意坐标系的建立,x轴是怼向屏幕里面的,y轴向右.建立的是右手系. 补题后感想:一直狂错,过不了样例.就是书里面的get函数太容易出错了,这题太细节了.日后再做做吧.
/*
*/
#include
using namespace std;
typedef long long ll;
const int maxn = 15;
const int INF = 1e9+7;
typedef pair pii;
char color[maxn][maxn][maxn];
char view[maxn][maxn][maxn];
int n;
void get(int k,int i,int j,int len,int &x,int &y,int &z){
if(k==0){
x = len; y = j;z=i;
}
if(k==1){
x=n-1-j;y=len;z=i;
}
if(k==2){
x= n-1-len;y=n-1-j;z=i;
}
if(k==3){
x=j;y=n-1-len;z=i;
}
if(k==4){
x=n-1-i;y=j;z=len;
}
if(k==5){
x=i;y=j;z=n-1-len;
}
}
int main(){
// freopen("1.txt","r",stdin);
while(cin>>n){
if(n==0) break;
getchar();
for(int i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?