1 条题解
-
0
C++ :
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #define infinity 0x3f3f3f3f using namespace std; int a[104][105]; int slove(int n) { int i,j,k,t,mins; memset(a,0,sizeof(a)); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j&&i!=n) { a[i][j]=1; } else { mins=infinity; if(i<j) { for(k=j/2;k<=j-1;k++) { mins=min(mins,a[k][i]+a[j-k][i]); } } else { for(k=i/2;k<=i-1;k++) { mins=min(mins,a[k][j]+a[i-k][j]); } } a[j][i]=a[j][i]=mins; } } } return a[n][n]; } int main() { int t,n; cin>>t; t--; cin>>n; cout<<slove(n)<<" "<<endl; while(t--) { cin>>n; cout<<slove(n)<<endl; } }
- 1
信息
- ID
- 1783
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者