Submission #18029

#TimeUsernameProblemLanguageResultExecution timeMemory
18029gs14004여왕벌 (KOI15_queen)C++14
10 / 100
5000 ms18556 KiB
#include <cstdio>
 
char str[705][705][28];
int m, n;
 
int cgrowth[705][705];
int sessgrowth[705][705];
 
void fill_growth(){
    for(int i=2; i<=m; i++){
        for(int j=2; j<=m; j++){
            int que = sessgrowth[i][j-1] * 9 + sessgrowth[i-1][j-1] * 3 + sessgrowth[i-1][j];
            if(str[i][j][que] == 'L'){
                sessgrowth[i][j] = sessgrowth[i][j-1];
            }
            else if(str[i][j][que] == 'D'){
                sessgrowth[i][j] = sessgrowth[i-1][j-1];
            }
            else{
                sessgrowth[i][j] = sessgrowth[i-1][j];
            }
        }
    }
}
 
int main(){
    scanf("%d %d",&m,&n);
    for(int i=1; i<=m; i++){
        for(int j=1; j<=m; j++){
            cgrowth[i][j] = 1;
        }
    }
    for(int i=2; i<=m; i++){
        for(int j=2; j<=m; j++){
            scanf("%s",str[i][j]);
        }
    }
    for(int i=0; i<n; i++){
        int a, b, c;
        scanf("%d %d %d",&a,&b,&c);
        int pt = m;
        for(int i=m; i; i--){
            if(a) sessgrowth[i][0] = 0, a--;
            else if(b) sessgrowth[i][1] = 1, b--;
            else sessgrowth[i][1] = 2, c--;
        }
        for(int i=2; i<=m; i++){
            if(a) sessgrowth[1][i] = 0, a--;
            else if(b) sessgrowth[1][i] = 1, b--;
            else sessgrowth[1][i] = 2, c--;
        }
        fill_growth();
        for(int i=1; i<=m; i++){
            for(int j=1; j<=m; j++){
                cgrowth[i][j] += sessgrowth[i][j];
            }
        }
    }
    for(int i=1; i<=m; i++){
        for(int j=1; j<=m; j++){
            printf("%d ",cgrowth[i][j]);
        }
        puts("");
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...