【日刷】LA2995
来源:互联网 发布:印度尼西亚华人知乎 编辑:程序博客网 时间:2024/05/17 22:36
一道acmfinal
学到的东西
- 输入函数read_char
来减少不必要的循环; - get
函数枚举各种情况要有空间想象力和耐心; - #define REP 与i,j,k,的用法;
- ,for(;;),的骚操作,不断循环直到break;
- 预先想好算法
#include<iostream>using namespace std;#define REP(i,n) for(int i=0;i<(n);i++)int n;char read_char() { char c; for (;; ) { c = getchar(); if ((c >= 'A'&&c <= 'Z') || c == '.') return c; }}void get(int k, int i, int j, int p, int &x, int &y, int &z) { if (k == 0) { x = p; y = j; z = i; } if (k == 1) { x = n - 1 - j; y = p; z = i; } if (k == 2) { x = n - 1 - p; y = n - 1 - j; z = i; } if (k == 3) { x = j; y = n - p - 1; z = i; } if (k == 4) { x = n - 1 - i; y = j; z = p; } if (k == 5) { x = i; y = j; z = n - 1 - p; }};char view[6][10][10], pos[10][10][10];int main() { while (cin >> n) { if (n == 0)break; REP(i, n) REP(k, 6) REP(j, n) view[k][i][j] = read_char(); REP(i, n) REP(j, n) REP(k, n) pos[i][j][k] = '#'; REP(k, 6) REP(i, n) REP(j, n) if (view[k][i][j] == '.') { REP(p, n) { int x, y, z; get(k, i, j, p, x, y, z); pos[x][y][z] = '.'; } }; for (;;) { bool done = true; REP(i, n)REP(j, n)REP(k, 6) if (view[k][i][j]!='.' ) { REP(p, n) { int x, y, z; get(k, i, j, p, x, y, z); if (pos[x][y][z] == '.') continue; if (pos[x][y][z] == '#') { pos[x][y][z] = view[k][i][j]; break; } if (pos[x][y][z] == view[k][i][j]) break; pos[x][y][z] = '.'; done = false; } } if (done) break; } int ans = 0; REP(i, n)REP(j, n)REP(k, n) if (pos[i][j][k] != '.') ans++; printf("Maximum weight: %d gram(s)\n", ans); } return 0;}
LA上
要写if(n==0)break;
才能过
icpc live achive
阅读全文
0 0
- 【日刷】LA2995
- LA2995
- LA2995
- LA2995 模拟
- Image is Everuthing LA2995
- 思维锻炼+LA2995
- LA2995- Image Is Everything
- LA2995(迭代更新)
- LA2995——Image Is Everything
- 4日4日4日4日4日4日4日4日4日4日4日4日4日4日
- 中国移动、联通QQ刷钻方法 (9月8日)
- 牛客网 刷题笔记2017年1月19日
- 刷题记录---每日更新-8月7日
- leetcode 7月26日 非作弊刷题
- 日刷(距上次好像5天了) Uva10881
- 剑指offer每日一刷-2017年11月24日(补2017年11月23日)
- 第一日
- 万年日
- 2017.11.30第十四周周中总结
- jsp小结
- Linux笔记-2
- 【Scikit-Learn 中文文档】密度估计
- Java实现获取前、后N天日期的函数分享2
- 【日刷】LA2995
- 证件OCR识别360度全面解析
- 欢迎使用CSDN-markdown编辑器
- HTML点击全选按钮商品全选(只有按钮)
- iOS 修改系统返回键
- 数据结构复习整理——二叉树的基本操作
- js中json字符串解析
- 【Scikit-Learn 中文文档】神经网络模型(无监督)- 无监督学习
- 用命令行 将 Java 文件 打成 Jar 包