#7229: 為什麼NA?


mrsasuke (極限)


我打的程式:
 
#include <stdio.h>
int main (void){
int n,i,a[6];
while (scanf ("%d",&n)==1){
a[1]=a[2]=a[3]=1;
a[4]=a[5]=a[6]=0;
for (i=4;i<=n;i+=3){
a[4]=a[3]+a[2]+a[1];
a[5]=a[4]+a[3]+a[2];
a[6]=a[5]+a[4]+a[3];
a[1]=a[4]%10007;
a[2]=a[5]%10007;
a[3]=a[6]%10007;
}
a[0]=a[3];
printf ("%d\n",a[n%3]);
}
return 0;
}
 
 自己跑沒問題(至少第一測資點沒問題,輸入8跑出來31)
 
但為什麼實測卻是這樣:
 
第 1 測資點(30%): WA (line:1)
答案不正確
您的答案為: 1 正確答案為: 31 
不知道為什麼.... 
#7230: Re:為什麼NA?


tomoyaken14 (歐練)


我打的程式:
#include
int main (void){
int n,i,a[6];
while (scanf ("%d",&n)==1){
a[1]=a[2]=a[3]=1;
a[4]=a[5]=a[6]=0;
for (i=4;i<=n;i+=3){
a[4]=a[3]+a[2]+a[1];
a[5]=a[4]+a[3]+a[2];
a[6]=a[5]+a[4]+a[3];
a[1]=a[4]%10007;
a[2]=a[5]%10007;
a[3]=a[6]%10007;
}
a[0]=a[3];
printf ("%d\n",a[n%3]);
}
return 0;
}
 自己跑沒問題(至少第一測資點沒問題,輸入8跑出來31)
但為什麼實測卻是這樣:
第 1 測資點(30%): WA (line:1)
答案不正確
您的答案為: 1 正確答案為: 31 
不知道為什麼.... 

你的程式 輸入8 跑出1 沒錯阿XD
#7235: Re:為什麼NA?


akira0331 (小迷糊)


我打的程式:
#include
int main (void){
int n,i,a[6];
while (scanf ("%d",&n)==1){
a[1]=a[2]=a[3]=1;
a[4]=a[5]=a[6]=0;
for (i=4;i<=n;i+=3){
a[4]=a[3]+a[2]+a[1];
a[5]=a[4]+a[3]+a[2];
a[6]=a[5]+a[4]+a[3];
a[1]=a[4]%10007;
a[2]=a[5]%10007;
a[3]=a[6]%10007;
}
a[0]=a[3];
printf ("%d\n",a[n%3]);
}
return 0;
}
 自己跑沒問題(至少第一測資點沒問題,輸入8跑出來31)
但為什麼實測卻是這樣:
第 1 測資點(30%): WA (line:1)
答案不正確
您的答案為: 1 正確答案為: 31 
不知道為什麼.... 

你設的陣列a範圍只有0~5,a[6]會有問題
#7236: Re:為什麼NA?


mrsasuke (極限)


 
你設的陣列a範圍只有0~5,a[6]會有問題

對了~我懂了 謝謝你喔^^