2009-01-15 16:38:16來源不明
2005 NPSC B. 節約尺
儲存所有可能,之後在去尋找。
/**********************************************************/
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- main()
- {
- int a,b,c,d=0,e,temp=0,sum=0,time=0,flag=0;
- int x[21],y[210];
- while(scanf("%d",&a)==1&&a!=0)
- {
- temp=0;sum=0;d=0;time=0;flag=0;
- for(b=0;b<a;b++)
- {
- scanf("%d",&c);
- x[b]=c;
- sum=sum+c; /*將輸入的數字儲存*/
- }
- if(a!=sum)
- {
- for(b=d;b<a;b++)
- {
- temp=temp+x[b];
- y[time]=temp;
- if(b==a-1)
- {
- d++;b=d-1;temp=0;
- }
- time++;
- }
- b=1;
- for(e=0;e<=time;e++) /*尋找比對所有可能的值*/
- {
- if(y[e]==b)
- {
- flag++;
- y[e]=0;
- b++;
- e=-1;
- }
- }
- if(flag==sum)
- printf("YES\n");
- else
- printf("NO\n");
- }
- else
- printf("NO\n");
- }
- return 0;
- }
上一篇:2005 NPSC D. 秘密
下一篇:2008 NPSC B. 下雨天