#5249: 為何WA 與測資只差一個數字!!???


kent21221 (kent)

學校 : 長榮大學
編號 : 6200
來源 : [218.164.6.165]
最後登入時間 :
2011-07-20 18:40:40
d625. 踩地雷真好玩 -- jack1 | From: [114.33.129.179] | 發表日期 : 2011-06-28 20:35

他顯示

正確如下

11-----1*22*211122112322112*212*2111*1----1**2**1-2*3*3***11*3*2**423*3*1---12**1-2**211112*1--11111

而我的答案:

11-----1*22*211122112322112*212*2111*1----1**2**1-2*3*3***11*3*2**423*3*1---12**1-2**211112*1--11112

只差 最後 一個 2 是為何?

沒道理前面都沒錯只錯一個 而且用題目給的範例也是對的阿

麻煩各位 高手 指點指點 謝謝^  ^ 

 

 
#5251: Re:為何WA 與測資只差一個數字!!???


abcd6891 (曄哥)

學校 : 國立花蓮高級中學
編號 : 3565
來源 : [61.231.222.61]
最後登入時間 :
2024-09-16 11:43:21
d625. 踩地雷真好玩 -- jack1 | From: [114.44.215.34] | 發表日期 : 2011-06-29 00:26


沒給程式碼  不知道錯在哪

我先猜

會出靈異事件通常是因為 

沒檢查陣列索引值

 
#5252: Re:為何WA 與測資只差一個數字!!???


abcd6891 (曄哥)

學校 : 國立花蓮高級中學
編號 : 3565
來源 : [61.231.222.61]
最後登入時間 :
2024-09-16 11:43:21
d625. 踩地雷真好玩 -- jack1 | From: [114.44.215.34] | 發表日期 : 2011-06-29 00:28


沒給程式碼  不知道錯在哪

我先猜

會出靈異事件通常是因為 

沒檢查陣列索引值



以身試法  真的是這個原因

請檢察陣列索引值

if(i+vx>-1&&i+vx<n&&j+vy>-1&&j+vy<n)

類似這樣

 
#5254: Re:為何WA 與測資只差一個數字!!???


kent21221 (kent)

學校 : 長榮大學
編號 : 6200
來源 : [218.164.6.165]
最後登入時間 :
2011-07-20 18:40:40
d625. 踩地雷真好玩 -- jack1 | From: [218.164.6.132] | 發表日期 : 2011-06-29 23:39


沒給程式碼  不知道錯在哪

我先猜

會出靈異事件通常是因為 

沒檢查陣列索引值



以身試法  真的是這個原因

請檢察陣列索引值

if(i+vx>-1&&i+vx-1&&j+vy

類似這樣

謝謝你的回應

可是我不太懂...

------------------以下程式碼

 

#include<iostream>

using namespace std;

int main()

{

    

    int n;

    cin>>n;

    

                 char m[100][100];

                 for(int i=0;i<100;i++)

                 {

                         for(int j=0;j<100;j++)

                         {

                                 m[i][j]='\0';

                         }

                 }

                 

 

                 for(int i=0;i<n;i++)

                 {

                         for(int j=0;j<n;j++)

                         {

                                 cin>>m[i][j];

                         }

                 }

 

                 for(int i=0;i<n;i++)

                 {

                         for(int j=0;j<n;j++)

                         {

                                 int bom=0;

                                

                                     for(int x=i-1;x<=i+1;x++)

                                      {

                                             if(x<0)

                                               x++;

 

                                            for(int y=j-1;y<=j+1;y++)

                                            {

                                                    if(y<0 )

                                                      y++;                                

 

                                                     

                                                     if(m[i][j]!='*' && m[x][y]=='*')

                                                     {

                                                                      bom++;

                                                     }                                                   

                                                       

                                                                    

                                            }                                       

                                                                    

                                 

                                      }

                                      

                                      if(m[i][j]=='*')

                                        cout<<m[i][j];

                                      else if(bom!=0 )

 {

 cout<<bom;

 

 }

                                      else 

 {

 cout<<m[i][j];

 

 

 }

                         }

                         cout<<endl;

                 }        

    

   

    

 return 0;   

}


 

 
#5260: Re:為何WA 與測資只差一個數字!!???


abcd6891 (曄哥)

學校 : 國立花蓮高級中學
編號 : 3565
來源 : [61.231.222.61]
最後登入時間 :
2024-09-16 11:43:21
d625. 踩地雷真好玩 -- jack1 | From: [114.37.247.229] | 發表日期 : 2011-06-30 18:35


沒給程式碼  不知道錯在哪

我先猜

會出靈異事件通常是因為 

沒檢查陣列索引值



以身試法  真的是這個原因

請檢察陣列索引值

if(i+vx>-1&&i+vx-1&&j+vy

類似這樣

謝謝你的回應

可是我不太懂...

------------------以下程式碼

 

#include

using namespace std;

int main()

{

 

    int n;

    cin>>n;

 

                 char m[100][100];

                 for(int i=0;i<100;i++)

                 {

                         for(int j=0;j<100;j++)

                         {

                                 m[i][j]='\0';

                         }

                 }

 

 

                 for(int i=0;i

                 {

                         for(int j=0;j

                         {

                                 cin>>m[i][j];

                         }

                 }

 

                 for(int i=0;i

                 {

                         for(int j=0;j

                         {

                                 int bom=0;

 

                                     for(int x=i-1;x<=i+1;x++)

                                      {

                                             if(x<0)

                                               x++;

 

                                            for(int y=j-1;y<=j+1;y++)

                                            {

                                                    if(y<0 )

                                                      y++;                                

 

 

                                                     if(m[i][j]!='*' && m[x][y]=='*')

                                                     {

                                                                      bom++;

                                                     }                                                   

 

 

                                            }                                       

 

 

                                      }

 

                                      if(m[i][j]=='*')

                                        cout<

                                      else if(bom!=0 )

 {

 cout<

 

 }

                                      else 

 {

 cout<

 

 

 }

                         }

                         cout<

                 }        

 

 

 

 return 0;   

}


 


for(int x=i-1;x<=i+1;x++)

{

 if(x<0) 這邊如果 x >=n 會出問題

 x++;

 

 for(int y=j-1;y<=j+1;y++)

{

if(y<0 )這邊如果 y >=n 會出問題

 y++;                                

 

 

                                                     if(m[i][j]!='*' && m[x][y]=='*')

                                                     {

                                                                      bom++;

                                                     }                                                   

 

 

                                            }                                       

 

 

                                      }

 
#5261: Re:為何WA 與測資只差一個數字!!???


kent21221 (kent)

學校 : 長榮大學
編號 : 6200
來源 : [218.164.6.165]
最後登入時間 :
2011-07-20 18:40:40
d625. 踩地雷真好玩 -- jack1 | From: [218.164.10.60] | 發表日期 : 2011-06-30 22:21


沒給程式碼  不知道錯在哪

我先猜

會出靈異事件通常是因為 

沒檢查陣列索引值



以身試法  真的是這個原因

請檢察陣列索引值

if(i+vx>-1&&i+vx-1&&j+vy

類似這樣

謝謝你的回應

可是我不太懂...

------------------以下程式碼

 

#include

using namespace std;

int main()

{

 

    int n;

    cin>>n;

 

                 char m[100][100];

                 for(int i=0;i<100;i++)

                 {

                         for(int j=0;j<100;j++)

                         {

                                 m[i][j]='\0';

                         }

                 }

 

 

                 for(int i=0;i

                 {

                         for(int j=0;j

                         {

                                 cin>>m[i][j];

                         }

                 }

 

                 for(int i=0;i

                 {

                         for(int j=0;j

                         {

                                 int bom=0;

 

                                     for(int x=i-1;x<=i+1;x++)

                                      {

                                             if(x<0)

                                               x++;

 

                                            for(int y=j-1;y<=j+1;y++)

                                            {

                                                    if(y<0 )

                                                      y++;                                

 

 

                                                     if(m[i][j]!='*' && m[x][y]=='*')

                                                     {

                                                                      bom++;

                                                     }                                                   

 

 

                                            }                                       

 

 

                                      }

 

                                      if(m[i][j]=='*')

                                        cout<

                                      else if(bom!=0 )

 {

 cout<

 

 }

                                      else 

 {

 cout<

 

 

 }

                         }

                         cout<

                 }        

 

 

 

 return 0;   

}


 


for(int x=i-1;x<=i+1;x++)

{

 if(x<0) 這邊如果 x >=n 會出問題

 x++;

 

 for(int y=j-1;y<=j+1;y++)

{

if(y<0 )這邊如果 y >=n 會出問題

 y++;                                

 

 

                                                     if(m[i][j]!='*' && m[x][y]=='*')

                                                     {

                                                                      bom++;

                                                     }                                                   

 

 

                                            }                                       

 

 

                                      }

真的 是矩陣的問題 

我懂了

下次會小心點

 

感謝你 謝啦 

 

 

 
#5268: Re:為何WA 與測資只差一個數字!!???


abcd6891 (曄哥)

學校 : 國立花蓮高級中學
編號 : 3565
來源 : [61.231.222.61]
最後登入時間 :
2024-09-16 11:43:21
d625. 踩地雷真好玩 -- jack1 | From: [114.44.214.123] | 發表日期 : 2011-07-01 21:30

 

真的 是矩陣的問題 

我懂了

下次會小心點

 

感謝你 謝啦 

 

 


不客氣 
ZeroJudge Forum