LA2995
来源:互联网 发布:如何申请农村淘宝 编辑:程序博客网 时间:2024/05/21 10:40
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;#define REP(i,n) for(int i=0;i<(n);i++)char view[10][10][10];char pos[10][10][10];int n;char get_char(){ char a; for (;;) { a = getchar(); if (a <= 'Z'&&a >= 'A' || a == '.') return a; }}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 - j - 1; y = len; z = i; } if (k == 2) { x = n - len - 1; y = n - j - 1; z = i; } if (k == 3) { x = j; y = n - len - 1; z = i; } if (k == 4) { x = n - i - 1; y = j; z = len; } if (k == 5) { x = i; y = j; z = n - len - 1; }}int vs_main(){ while (cin >> n, n) { REP(i, n)REP(k, 6)REP(j, n)view[k][i][j] = get_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 flag = true; 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); 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] = '.'; flag = false; } } if (flag)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;}int main(){ int start = clock(); freopen("in.txt", "r", stdin); //freopen("E:/out.txt","w",stdout); printf("#===================#\n"); vs_main(); printf("#===================#\n"); printf("Time:%.3lf\n", double(clock() - start) / CLOCKS_PER_SEC); //system("pause"); return 0;}
wa
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>#include<cstdlib>#define REP(i,n) for(int i=0;i<(n);i++)using namespace std;char view[7][15][15];char board[15][15][15];int n;int flag;bool done;void Delete1(int k, int len, int i, int j){ int x, y, z; if (k == 1) { x = len; y = j; z = i; } if (k == 2) { x = n - j - 1; y = len; z = i; } if (k == 3) { x = n - len - 1; y = n - j - 1; z = i; } if (k == 4) { x = j; y = n - len - 1; z = i; } if (k == 5) { x = n - i - 1; y = j; z = len; } if (k == 6) { x = i; y = j; z = n - len - 1; } if (view[k][i][j] == '.') { board[x][y][z] = '.'; }}void Delete2(int k,int len, int i, int j){ if (view[k][i][j] != '.') { int x, y, z; if (k == 1) { x = len; y = j; z = i; } if (k == 2) { x = n - j - 1; y = len; z = i; } if (k == 3) { x = n - len - 1; y = n - j - 1; z = i; } if (k == 4) { x = j; y = n - len - 1; z = i; } if (k == 5) { x = n - i - 1; y = j; z = len; } if (k == 6) { x = i; y = j; z = n - len - 1; } if (board[x][y][z] == '#') { board[x][y][z] = view[k][i][j]; flag = 1; return; } if (view[k][i][j] == board[x][y][z]) { flag = 1; return; } board[x][y][z] = '.'; done = false; return; } return;}int vs_main(){ while (cin >> n,n) { for (int i = 0; i < n; i++) { for (int k = 1; k <= 6; k++) { for (int j = 0; j < n; j++) { cin >> view[k][i][j]; } } } for (int k = 0; k < n; k++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { board[k][i][j] = '#'; } } } for (int k = 1; k <= 6; k++) { for (int len = 0; len < n; len++)// { for (int i = 0; i <n; i++) { for (int j = 0; j <n; j++) { Delete1(k,len, i, j); } } } } done = true; for (int k = 1; k <= 6; k++) { for (int len = 0; len < n; len++)// { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { Delete2(k, len, i, j); if (flag == 1) break; } } } } int count = 0; for (int k = 0; k < n; k++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (board[k][i][j] != '.') count++; } } } printf("Maximum weight: %d gram(s)\n", count); } return 0;}int main(){ int start = clock(); freopen("in.txt", "r", stdin); //freopen("E:/out.txt","w",stdout); printf("#===================#\n"); vs_main(); printf("#===================#\n"); printf("Time:%.3lf\n", double(clock() - start) / CLOCKS_PER_SEC); //system("pause"); return 0;}
0 0
- LA2995
- LA2995
- LA2995 模拟
- Image is Everuthing LA2995
- 思维锻炼+LA2995
- LA2995- Image Is Everything
- 【日刷】LA2995
- LA2995(迭代更新)
- LA2995——Image Is Everything
- Error:(1, 0) Plugin with id 'com.android.application' not found
- Java中单例模式的用法
- 算法复杂度评价一例
- 学生管理系统1.0(1200)
- 再用五分钟利用docker升级搭建好php7.0.10服务环境(添加扩展mysql、gd、phalcon)
- LA2995
- 数据结构-字符串
- Menu菜单
- 【python】python之-----paramiko
- DC-电路的设计目标和约束
- ArcGIS 10.4.1 发布Scene Layer 步骤
- ShareSDK集成
- ORA-01555
- Windows 上安装Rabbit MQ