题目

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3429

题意

给一个无限大的长方体,有击中操作:

  • FILL(X,Y,Z) : 按照先Z轴,后Y轴,再X轴标号,
  • SWAP1(x1,x2): 交换由X轴坐标为x1的点构成的平面 和 由X轴坐标为x2的点构成的平面
  • SWAP2(y1,y2): 交换由Y轴坐标为y1的点构成的平面 和 由Y轴坐标为y2的点构成的平面
  • SWAP3(z1,z2): 交换由Z轴坐标为z1的点构成的平面 和 由Z轴坐标为z2的点构成的平面
  • FIND(value) : 输出找标号为value的点的坐标
  • QUERY(x,y,z): 输出点(x, y, z)处的标号

解法

可以看出交换操作并不影响另外的两个坐标,比如SWAP1(x1, x2), 并不影响y1, y2, z1, z2。
所以可以用三个数组x, y, z表示坐标,交换时只需交换相应的数组内的值
初始时各位置的标号可以很容易算出

代码

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1100;
int main() {char op[10];int X, Y, Z;int a, b, c, val;int px, py, pz;int x[N], y[N], z[N];while(~scanf("%s", op)) {if(strcmp(op, "FILL") == 0) {scanf("%d%d%d", &X, &Y, &Z);printf("START\n");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;}else if(strcmp(op, "SWAP1") == 0) {scanf("%d%d", &a, &b);swap(x[a], x[b]);}else if(strcmp(op, "SWAP2") == 0) {scanf("%d%d", &a, &b);swap(y[a], y[b]);}else if(strcmp(op, "SWAP3") == 0) {scanf("%d%d", &a, &b);swap(z[a], z[b]);}else if(strcmp(op, "FIND") == 0) {scanf("%d", &val);if(val > X * Y * Z)continue;a = (val - 1) / (Z * Y);b = ((val - 1) % (Z * Y)) / Z;c = (val - 1) % Z;for(int i = 0; i < X; i++) {if(x[i] == a) {px = i; break; } }for(int i = 0; i < Y; i++) {if(y[i] == b) {py = i; break; } }for(int i = 0; i < Z; i++) {if(z[i] == c) {pz = i; break; } }printf("%d %d %d\n", px, py, pz);}else if(strcmp(op, "QUERY") == 0) {scanf("%d%d%d", &a, &b, &c);printf("%d\n", Y * Z * x[a] + Z * y[b] + z[c] + 1);}}return 0;
}

Source

ZOJ Monthly, November 2010

转载于:https://www.cnblogs.com/acm_record/p/4753667.html

ZOJ 3429 Cube Simulation (思维题)相关推荐

  1. ZOJ 3829 贪心 思维题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...

  2. little w and Soda(思维题)

    链接:https://ac.nowcoder.com/acm/contest/297/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  3. yoyo思维题(困难) 组合数学

    问题 B: yoyo思维题(困难) 时间限制: 1 Sec  内存限制: 256 MB 提交: 11  解决: 3 [提交][状态][讨论版][命题人:qianyouyou][Edit] [TestD ...

  4. 1884: 三个家庭(思维题)

    1884: 三个家庭 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 244 Solved: 81 [Submit][Status][Web Board] ...

  5. 思维题 UVA 10881 Piotr's Ants

    题目传送门 1 /* 2 题意:在坐标轴上一群蚂蚁向左或向右爬,问经过ts后,蚂蚁的位置和状态 3 思维题:本题的关键1:蚂蚁相撞看作是对穿过去,那么只要判断谁是谁就可以了 4 关键2:蚂蚁的相对位置 ...

  6. CF--思维练习-- CodeForces - 215C - Crosses(思维题)

    ACM思维题训练集合 There is a board with a grid consisting of n rows and m columns, the rows are numbered fr ...

  7. ACM思维题训练 Section A

    题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeFo ...

  8. CodeForces - 1102A(思维题)

    https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You ha ...

  9. ☆【CodeForces - 764C】Timofey and a tree (思维题,树的性质)

    题干: Each New Year Timofey and his friends cut down a tree of n vertices and bring it home. After tha ...

  10. 【HDU - 2203】 亲和串 (思维题,可选KMP)

    题干: Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了, ...

最新文章

  1. mybatis中![CDATA[]]的作用
  2. Kettle性能调优汇总
  3. Apache虚拟目录和多端口多主机名配置
  4. oracle河南城建学院实验报告,数据处理实验报告
  5. 用jetty起maven工程debug报source not found
  6. LINUX内核下跑单片机按键,S3C2440下linux按键驱动编写及测试程序
  7. vue-cli3.0(创建项目)如何引入element-ui(指令篇)
  8. 在python中类型属于对象变量是没有类型的_如何理解python对象有类型,变量无类型...
  9. 小心费力不讨好!Facebook成立“抄袭小组”压制Snap
  10. python解析GF1卫星数据.xml文件
  11. python称为胶水的例子_为什么称python为胶水语言
  12. java jtextpane_java – 从JTextPane获取原始文本
  13. Kruscal算法---最小生成树
  14. Windows解决net Framerwork 3.5无法安装的问题
  15. 基于C/C++的弹出气泡框
  16. 打发时光的100个网站
  17. C# 项目--更换用户头像,使用相对路径
  18. AI 在视频领域运用—弹幕穿人
  19. Linux:刚创建的普通用户不能使用Tab和上下左右键
  20. vue-codemirror搭配js代码美化使用指南

热门文章

  1. 2 BeeGo 参数配置与路由配置
  2. 高中女销售学Linux云计算4个月搞定年薪12万
  3. 装饰模式(Decorate Pattern)
  4. 转成静态页面,由于ie网址或路径原因,Atlas失效。
  5. Java温习(基础语法一)
  6. 【转】Android 9 Pie 兼容性常见问题及注意事项
  7. [2018.10.20 T3] 巧克力
  8. Luogu2730 魔板 Magic Squares
  9. MongoDB学习(黑马教程)-7-数据库MongoDB的集合关联
  10. softmax函数_干货 | 浅谈Softmax函数