这个代码有什么问题吗在电脑上输出不了

P1120 小木棍

minn==0可海星?mod 0可海星?
by t162 @ 2019-02-06 22:08:05


我好像看出了啥
by 豌豆射手皮0608 @ 2019-02-06 22:10:52


第47行为什么是i=n?
by 豌豆射手皮0608 @ 2019-02-06 22:11:28


minn的初值是0可海星?
by t162 @ 2019-02-06 22:11:33


@[Bambusoideae](/space/show?uid=106140) ooo
by ewqewqewq @ 2019-02-06 22:12:30


最下面有个点怎么不对 ```c #include<iostream> #include<algorithm> #include<cstring> using namespace std; int a[105],used[105],n,len,m,minn=0,sum=0,bj; bool cmp(const int &x,const int &y) { return x>y; } void read() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; minn=max(minn,a[i]); sum+=a[i]; } sort(a+1,a+n+1,cmp); } void dfs(int k,int last,int rest) {int i,j; if(k==m) { bj=1;return; } if(rest==0) { for(i=1;i<=n;i++) if(!used[i]) {used[i]=1;break;} dfs(k+1,i,len-a[i]); } for(i=last+1;i<=n;i++) { if(!used&&rest>=a[i]) { used[i]=1; dfs(k,i,rest-a[i]); used[i]=0; j=i; while(i<n&&a[i]==a[j])i++; if(i==n)return; } } } void solve() { for(int i=minn;i<=sum;i++) { if(sum%i==0) { memset(used,0,sizeof(used)); len=i; used[1]=1; bj=0; m=sum/i; dfs(1,1,len-a[1]); if(bj) { cout<<len<<endl;break; } } } } int main() { read(); solve(); return 0; } //7 //63 2 44 12 60 35 60 //93 ```
by ewqewqewq @ 2019-02-06 22:32:32


|