uva 1030 - Image Is Everything
char pos[M][M][M], view[6][M][M];
int n;
char get_char()
{
char ch;
while(1)
{
ch = getchar();
if((ch<='Z'&&ch>='A')||ch=='.') return ch;
}
}
void getpos(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-j-1, y = p, z = i; }
if(k==2) { x = n-p-1, y = n-j-1, z = i; }
if(k==3) { x = j, y = n-p-1; z = i; }
if(k==4) { x = n-i-1, y = j; z = p; }
if(k==5) { x = i; y = j, z = n-p-1; }
}
int main()
{
while(scanf("%d", &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;
getpos(k, i, j, p, x, y, z);
pos[x][y][z] = '.';
}
while(1)
{
bool done = true;
REP(k, 6) REP(i, n) REP(j, n)
if(view[k][i][j]!='.')
REP(p, n)
{
int x, y, z;
getpos(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)
", ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.