| ||||||||||
| 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:这个程序确实WA, 但是您可以找一个让这个程序WA的数据吗?In Reply To:这个程序确实WA, 但是您可以找一个让这个程序WA的数据吗? Posted by:gzw_02 at 2008-05-22 00:31:41 > 答案是,我找不到. 我的朋友找不到,一些AC了这题的学友也找不到,
>
> 您能找到吗?期待您的参与.
>
>
> # include <iostream>
> using namespace std;
>
> const short maxsize = 65;
> short sticks[maxsize];
> bool isused[maxsize];
> short gl; //当前应找合并的木棍数
> short n; //当前木棍总数
> short partlen; //当前每段应该合成的长度
> int comp(const void * a,const void *b){
> short *ca = (short*)a;
> short *cb = (short*)b;
> return *cb - *ca;
> }
> bool findstick(short index, short step, short clen){
> // clen --- 累加长度 <= partlen
> // step --- 找到的木棍数 step为gl-1时结束
> // index --- 当前要取的木棍
> int k;
> if( step==gl-1) return true;
> isused[index]=1;
> if(clen==partlen){
> if(step>0&&!isused[step-1]){
> isused[index]=0;
> return false;
> }
> clen=0;
> step++;
> }
>
> for(short i=step;i<n;i++){
>
>
> if(!isused[i]){
> if(partlen-clen>sticks[i]){
> if(!findstick(i,step,clen+sticks[i])){
> k=i;
> while(sticks[++i]==sticks[k]);
> i--;
> } else{
> return true;
> }
> }
> else if(partlen-clen==sticks[i]){
> return findstick(i,step,clen+sticks[i]);
> }
> }//isused
>
> }//for
> isused[index]=0;
> return false;
> }
> int main(){
> while(cin>>n){
>
> if(!n) break;
> int i=0;
> int sum=0;
> int maxlen = 0;
> while(i<n){
> cin>>sticks[i];
> sum+=sticks[i];
> if(maxlen<sticks[i]) maxlen=sticks[i];
> i++;
> }
> //对sticks[0..n-1]降序排序
> qsort(sticks,n,sizeof(short),comp);
> // maxlen到sum的长度k,使得sum%k=0的最小的k值
> for(int k=maxlen;k<=sum;k++){
> if(sum%k==0) {
> for(i=0;i<n;i++){
> isused[i]=0;
> }
> gl = sum/k;
> partlen = k;
> if(findstick(0, 0,sticks[0])){
> cout<<k<<endl;
> break;
> }
> }
> }
> }
> return 1;
> }
>
>
的确是WA,我找到了.
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator