提出詳細


ソースコード

#include <stdio.h>
#include<string.h>
int main() {
    int c;
    int block_type;
    int size[4];
    int map[10][10] = {};
    int height;
    int width;
    int count = 0;
    int flag = 0;
    int a = 0;
    scanf("%d",&c);
    for(int iii=1;iii<=c;iii++){
        scanf("%d",&height);
        scanf("%d",&width);
        for(int ii = 0;ii < width; ii++){
            for(int i = 0;i < height; i++){
                scanf("%d",&block_type);
                map[ii][i] = block_type;
            }
        }
        while(a == 0){
            for(int ii = 0;ii < width; ii++){
                for(int i = 0;i < height; i++){
                    if(map[ii][i] == 1){
                        flag = 1;
                        if(ii > 0){
                            if(map[ii - 1][i] == 0){
                               map[ii - 1][i] = 4; 
                            }
                            else if(map[ii - 1][i] == 2){
                                a = 1;
                            }
                        }
                        if(ii <= height){
                            if(map[ii + 1][i] == 0){
                               map[ii + 1][i] = 4; 
                            }
                            else if(map[ii + 1][i] == 2){
                                a = 1;
                            }
                        }
                        if(i <= width){
                            if(map[ii][i + 1] == 0){
                               map[ii][i + 1] = 4; 
                            }
                            else if(map[ii][i + 1] == 2){
                                a = 1;
                            }
                        }
                        if(i > 0){
                            if(map[ii][i - 1] == 0){
                               map[ii][i - 1] = 4; 
                            }
                            else if(map[ii][i - 1] == 2){
                                a = 1;
                            }
                        }
                        map[ii][i] = 3; 
                    }
                }
            }
            for(int ii = 0;ii < width; ii++){
                for(int i = 0;i < height; i++){
                    if(map[ii][i] == 4){
                        map[ii][i] = 1;
                    }
                    printf("%d",map[ii][i]);
                }
                printf("\n");
            }
            printf("\n");
            count++;
            if(flag == 0){
                count = 0;
                a = 1;
            }
            flag = 0;
        }
        printf("Case #%d:\n",iii);
        printf("%d\n",count);
        a = 0;
        flag = 0;
        count = 0;
    }
    return 0;
}

提出情報

提出時間 2019-12-09 19:53:50
問題 G - ボルダリング
ユーザ名 bukkorokoroponM
状態 形式違反
正解率 N/A
提出出力結果

テストケース情報

# 状態 詳細情報
正解か誤答の場合のみ表示されます.