ZOJ Problem Set - 3429 Cube Simulation
来源:互联网 发布:磁卡刷卡器软件 编辑:程序博客网 时间:2024/06/05 18:11
ZOJ Problem Set - 3429 Cube Simulation
题目描述:
题目链接:ZOJ Problem Set - 3429 Cube Simulation
题目大意:
根据题目描述,模拟在空间中的6种操作。对应不同输入执行对应的操作。
解题思路:
题目的关键点在于,value的值和X,Y,Z坐标的转化关系。将题目描述的一个三维数组,拆分为
复杂度分析:
时间复杂度:
空间复杂度:
AC代码:
#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <cctype>#include <algorithm>#include <cstdlib>using namespace std;const int maxn = 1010;int x[maxn],y[maxn],z[maxn];int X,Y,Z;int value,a,b,c;void FILL(){ scanf("%d%d%d",&X,&Y,&Z); puts("START"); for(int i = 0; i < X; i++) x[i] = i; for(int i = 0; i < Y; i++) y[i] = i; for(int i = 0; i < Z; i++) z[i] = i;}void SWAP1(){ int x1,x2; scanf("%d%d",&x1,&x2); swap(x[x1], x[x2]);}void SWAP2(){ int y1,y2; scanf("%d%d",&y1,&y2); swap(y[y1], y[y2]);}void SWAP3(){ int z1,z2; scanf("%d%d",&z1,&z2); swap(z[z1], z[z2]);}void FIND(){ scanf("%d" ,&value); if(value > X*Y*Z)return; value--; c = value % Z; value /= Z; b = value % Y; value /= Y; a = value; for(int i = 0; i < X; i++) if(x[i] == a) { a = i; break; } for(int i = 0; i < Y; i++) if(y[i] == b) { b = i; break; } for(int i = 0; i < Z; i++) if(z[i] == c) { c = i; break; } printf("%d %d %d\n",a,b,c);}void QUERY(){ scanf("%d%d%d",&a,&b,&c); value = x[a]*Y*Z+y[b]*Z+z[c]+1; printf("%d\n",value);}int main(){ char op[6]; while(scanf("%s",op) != EOF) { if(strcmp(op,"FILL") == 0) FILL(); else if(strcmp(op,"SWAP1") == 0) SWAP1(); else if(strcmp(op,"SWAP2") == 0) SWAP2(); else if(strcmp(op,"SWAP3") == 0) SWAP3(); else if(strcmp(op,"FIND") == 0) FIND(); else if(strcmp(op,"QUERY") == 0) QUERY(); } return 0;}
0 0
- ZOJ Problem Set - 3429 Cube Simulation
- ZOJ 3429 Cube Simulation
- zoj-3429-Cube Simulation
- ZOJ 3429 Cube Simulation 解题报告
- zoj 4113 Cube Simulation ( ZOJ Monthly, November 2010 )
- ZOJ Problem Set - 2060
- ZOJ Problem Set - 2972
- ZOJ Problem Set - 1037
- ZOJ Problem Set - 1048
- ZOJ Problem Set - 1049
- ZOJ Problem Set - 1051
- ZOJ Problem Set - 1067
- ZOJ Problem Set - 1115
- ZOJ Problem Set - 1151
- ZOJ Problem Set - 1205
- ZOJ Problem Set - 1025
- ZOJ Problem Set - 1029
- ZOJ Problem Set - 1076
- Java基础教程之事件和监听器
- ZOJ Problem Set - 2338 The Towers of Hanoi Revisited DFS+预处理
- 深入理解JAVA事件机制
- hadoop2.x学习01
- DBCP数据库连接池
- ZOJ Problem Set - 3429 Cube Simulation
- JAVA监听器原理
- 【学习笔记】mysql 快速批量导入测试数据
- POJ 1836 Alignment 双向LIS+DP
- Problem M. Heaviside Functionz
- 手机安全卫士------手机防盗页面之自定义对话框&MD5加密
- 16个网站 --- 免费的人工智能电子书
- Matlab合并多个.fig文件
- Kth Largest Element in an Array