#30198: 兩個範例對,但全NA, 可以幫我看看問題嗎? 謝謝!


jayd4460@gmail.com (艸重傑)

學校 : 不指定學校
編號 : 121403
來源 : [210.240.73.61]
最後登入時間 :
2022-05-09 13:09:19
g276. 2. 魔王迷宮 -- 2021年9月APCS | From: [210.240.73.61] | 發表日期 : 2022-05-06 14:45

#include<stdio.h>

 

int main()

{
    int n, m, k, i, j, ctl[100][4]={0}, a[100][100]={0}, bomb[100][100]={0}, mst[100]={1}, clear[100]={0},flag=1, index=0, sum=0 ;
    int r,c,s,t;
    scanf("%d%d%d",&n,&m,&k);
    for(i=0 ;i<k ;i++)
    {
        for(j=0 ;j<4 ;j++)
            scanf("%d", &ctl[i][j]);
    }

    for(i=0 ;i<k ;i++)
        mst[i]=1;

    while(flag==1){
            flag=0;


    for(i=0 ;i<k ;i++)  //放炸彈
    {
        r=ctl[i][0];
        c=ctl[i][1];
        s=ctl[i][2];
        t=ctl[i][3];

        if(mst[i]!=0)  //檢查王的存活
            {
                bomb[r][c]=-1;
            }

    }

 
    for(i=0 ;i<k ;i++)  //移動
    {
        r=ctl[i][0];
        c=ctl[i][1];
        s=ctl[i][2];
        t=ctl[i][3];

        if(mst[i]!=0){
                ctl[i][0]=r+s;
                ctl[i][1]=c+t;
        }

    }


    for(i=0 ; i<k ;i++)   //殺王
    {

        r=ctl[i][0];
        c=ctl[i][1];
        s=ctl[i][2];
        t=ctl[i][3];

        if(mst[i]!=0){

            if(r<0 || r>=n ||c<0 || c>=m)
            {
                mst[i]=0;

            }
            else if(bomb[r][c]==-1)
            {
                mst[i]=0;
                clear[i]=1;
            }

        }
     

    }

    for(i=0 ;i<k ;i++)    //消除炸彈
    {
        r=ctl[i][0];
        c=ctl[i][1];
        s=ctl[i][2];
        t=ctl[i][3];

        if(clear[i]==1)
        {
            if(bomb[r][c]==-1)
            bomb[r][c]=0;
            clear[i]=0;
        }

    }

 

 

    for(i=0 ;i<k ;i++)
    {
        if(mst[i]==1)
            {flag=1;
            continue ;}
    }
 }

    for(i=0 ;i<n ;i++)
    {
        for(j=0 ;j<m ;j++)
        {
            if(bomb[i][j]==-1)
            {
                sum++;
            }
        }
    }

    printf("%d", sum);

 
#30217: Re: 兩個範例對,但全NA, 可以幫我看看問題嗎? 謝謝!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
g276. 2. 魔王迷宮 -- 2021年9月APCS | From: [110.28.192.189] | 發表日期 : 2022-05-07 22:48


    int n, m, k, i, j, ctl[100][4]={0}, a[100][100]={0}, bomb[100][100]={0}, mst[100]={1}, clear[100]={0},flag=1, index=0, sum=0 ;
 


最多500個魔王,你陣列開太小了

 
#30229: Re: 兩個範例對,但全NA, 可以幫我看看問題嗎? 謝謝!


jayd4460@gmail.com (艸重傑)

學校 : 不指定學校
編號 : 121403
來源 : [210.240.73.61]
最後登入時間 :
2022-05-09 13:09:19
g276. 2. 魔王迷宮 -- 2021年9月APCS | From: [210.240.73.61] | 發表日期 : 2022-05-09 13:11


    int n, m, k, i, j, ctl[100][4]={0}, a[100][100]={0}, bomb[100][100]={0}, mst[100]={1}, clear[100]={0},flag=1, index=0, sum=0 ;
 


最多500個魔王,你陣列開太小了


感謝,沒注意到K可以到500,改了就行了,感恩!!!

 
ZeroJudge Forum