Lavida 1137 테트리스
문제 설명Permalink
테트리스 게임에서는 한 행이 모두 블록으로 채워지면 그 블록은 사라지고 그에 따른 점수를 얻게 된다. 예를 들어 왼쪽의 모양과 같은 테트리스 상태가 있다면 상태는 오른쪽과 같이 바뀌게 된다.
입력 설명Permalink
맨 처음 테스트 케이스의 개수 T(1 <= T <= 100)를 입력받는다. 그 뒤에 테스트 케이스의 개수만큼 맵의 행 R을 입력받는다. 그 다음 테트리스 맵의 정보를 입력받는데 @는 블록이고 .는 블록이 없는 공간이다. 열은 항상 10으로 고정되어 있다고 가정한다. (5 <= R <= 20)
출력 설명Permalink
맨 처음 테스트 케이스의 개수 T(1 <= T <= 100)를 입력받는다. 그 뒤에 테스트 케이스의 개수만큼 맵의 행 R을 입력받는다. 그 다음 테트리스 맵의 정보를 입력받는데 @는 블록이고 .는 블록이 없는 공간이다. 열은 항상 10으로 고정되어 있다고 가정한다. (5 <= R <= 20)
입력 예시Permalink
1
5
.@...@....
@@@@@@@@@@
.@@@@@@.@@
@@@@@@@@@@
.@@@.@@@@@
출력 예시Permalink
1
5
.@...@....
@@@@@@@@@@
.@@@@@@.@@
@@@@@@@@@@
.@@@.@@@@@
코드1Permalink
#include <stdio.h>
int main() {
int testcase,a,j,k, count = 0;
char arr[20][11];
scanf("%d", &testcase);
for (int i = 0; i < testcase; i++)
{
scanf("%d", &a);
for (k = 0; k < a; k++)
{
scanf("%s", &arr[k]);
}
for (k = 0; k < a; k++)
{
for (int c = 0; c < 10; c++) {
if (arr[k][c] == '@') {
count++;
}
}
if (count != 10) {
for (int c = 0; c < 10; c++) {
printf("%c", arr[k][c]);
}
printf("\n");
}
count = 0;
}
}
return 0;
}
코드2Permalink
#include <stdio.h>
int main() {
int testcase,a,j,k, count = 0;
char arr[20][11];
scanf("%d", &testcase);
for (int i = 0; i < testcase; i++)
{
scanf("%d", &a);
for (k = 0; k < a; k++)
{
scanf("%s", &arr[k]);
}
for (k = 0; k < a; k++)
{
for (int c = 0; c < 10; c++) {
if (arr[k][c] == '.') {
count = 1;
break;
}
}
if (count == 1 ) {
for (int c = 0; c < 10; c++) {
printf("%c", arr[k][c]);
}
printf("\n");
}
count = 0;
}
}
return 0;
}
나 : sayPermalink
여러분 상상을 하세요.
댓글남기기