Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:这组数据过不了,怎么还能AC呢?怪怪.....In Reply To:这组数据过不了,怎么还能AC呢?怪怪..... Posted by:20054738 at 2007-05-06 03:31:20 > 程序如下 > //"div.18"和"div.18"的测试都过不了还AC了,怪 > #include <stdio.h> > #include <string.h> > > int m,n; > int Opt[10010][110]; > int Int[10010]; > > int DP() > { > int i,j,s; > memset(Opt,0,sizeof(Opt)); > Opt[1][Int[1]]=1; > for(i=1;i<n;i++) > { > for(j=0;j<=m;j++) > { > if(Opt[i][j]) > { > // Opt[i][j]=0; > s=j+Int[i+1]; > s%=m; > Opt[i+1][s]=1; > s=j-Int[i+1]; > s%=m;//加了这句一样的 > while(s<0) > s+=m; > Opt[i+1][s]=1; > } > } > } > if(Opt[n][0]) > return 1; > return 0; > } > int main() > { > int Kase=1,i; > // scanf("%d",&Kase); > //freopen("div.11", "r", stdin); > while(Kase--) > { > scanf("%d%d",&n,&m); > for(i=1;i<=n;i++) > { > scanf("%d",&Int[i]); > Int[i]%=m; > while(Int[i]<0) > Int[i]+=m; > } > if(DP()) > printf("Divisible\n"); > else > printf("Not divisible\n"); > if(Kase) > printf("\n"); > } > return 0; > } > 测试数据: > 46 35 > -20 -17 -43 -60 81 -48 -83 -10 44 8 97 62 -5 8 84 34 73 -82 51 -13 -8 28 -56 97 -60 -1 62 -36 89 25 8 -88 81 55 -82 -17 85 39 71 68 60 63 42 13 -61 22 > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator