5 条题解
-
2
C++ :
#include <iostream> #include <ctime> #include <algorithm> using namespace std; int n,w; int c[19]; int use[19]; int minn = 20; bool cmp(int x,int y) { return x>y; } void dfs(int pos,int tot) { if(tot>minn) return ; if(pos == n+1) { minn = min(minn,tot); return ; } for(int i=1;i<=tot;i++) { if(c[pos] + use[i] <= w) { use[i] += c[pos]; dfs(pos+1,tot); use[i] -= c[pos]; } } use[tot+1] = c[pos]; dfs(pos+1,tot+1); use[tot+1] = 0; } int main() { cin>>n>>w; for(int i=1;i<=n;i++) cin>>c[i]; // clock_t start = clock(); sort(c+1,c+1+n,cmp); dfs(1,0); // clock_t end = clock(); cout<<minn<<endl; // cout<<end-start<<endl; return 0; }Python :
# coding=utf-8 a,b=map(int,input().split()) n=0 cnt=0 for x in range(a): n=int(input()) cnt+=n if(int(cnt/b)==cnt/b): print(int(cnt/b)) else: print(int(cnt/b)+1) -
0
#include <bits/stdc++.h> using namespace std; const int N = 1e2 + 10; const int mod = 1e9 + 7; const int INF = 0x3f3f3f3f; const long long LLINF = 0x3f3f3f3f3f3f3f3fLL; int n, m, a[N], ans, sum[N]; void dfs(int u, int v){ if(v >= ans) return; if(u == n){ ans = v; return; } for(int i = 0 ; i < v ; i++){ if(sum[i] + a[u] <= m){ sum[i] += a[u]; dfs(u + 1, v); sum[i] -= a[u]; } } sum[v] = a[u]; dfs(u + 1, v + 1); sum[v] = 0; } int main(){ cin >> n >> m; ans = n; for(int i = 0 ; i < n ; i++){ cin >> a[i]; } sort(a, a + n, greater<int>()); dfs(0, 0); cout << ans << endl; return 0; } -
0
#include<algorithm> #include<iostream> using namespace std; const int MAXN = 114514; int n,w,ans,c[MAXN],cab[MAXN]; void dfs(int now,int cnt) { if (cnt >= ans) { return ; } if (now == n + 1) { ans = min(ans,cnt); return ; } for (int i = 1;i <= cnt;i++) { if (cab[i] + c[now] <= w) { cab[i] += c[now]; dfs(now + 1,cnt); cab[i] -= c[now]; } } cab[cnt + 1] = c[now]; dfs(now + 1,cnt + 1); cab[cnt + 1] = 0; } int main() { cin >> n >> w; for (int i = 1;i <= n;i++) { cin >> c[i]; } sort(c + 1,c + n + 1); reverse(c + 1,c + n + 1); ans = n; dfs(1,0); cout << ans << endl; return 0; }
- 1
信息
- ID
- 76
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 459
- 已通过
- 117
- 上传者