delete pics to save space
This commit is contained in:
76
2.1030.cpp
Normal file
76
2.1030.cpp
Normal file
@ -0,0 +1,76 @@
|
||||
#include<cstdio>
|
||||
using namespace std;
|
||||
|
||||
#define REP(i,n) for(int i=0;i<(n);i++)
|
||||
|
||||
const int N = 10;
|
||||
int n;
|
||||
char pos[N][N][N];
|
||||
char view[6][N][N];
|
||||
|
||||
char read_char()
|
||||
{
|
||||
char ch;
|
||||
for (;;)
|
||||
{
|
||||
ch = getchar();
|
||||
if ((ch >= 'A'&&ch <= 'Z') || ch == '.')return ch;
|
||||
}
|
||||
}
|
||||
void get(int k, int i, int j, int len, int&x, int&y, int&z)//»ñÈ¡ÔÚµÚk¸öÊÓͼÖУ¬Î»ÖÃÔÚ(i,j)¸ß¶ÈΪlenµÄÄǸöλÖõÄÈýÎ¬×ø±ê
|
||||
{
|
||||
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()
|
||||
{
|
||||
#ifdef local
|
||||
freopen("pro.in","r",stdin);
|
||||
#endif
|
||||
while (scanf("%d", &n) == 1 && n)
|
||||
{
|
||||
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)//ö¾Ù¸ß¶Èp
|
||||
{
|
||||
int x, y, z;
|
||||
get(k, i, j, p, x, y, z);
|
||||
pos[x][y][z] = '.';
|
||||
}
|
||||
for(;;)
|
||||
{
|
||||
bool done = 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] = '.';
|
||||
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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user