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 |
这组数据过不了,怎么还能AC呢?怪怪.....程序如下 //"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