Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
126287 mairuisheng 健康的奶牛 C++ 通过 100 3 MS 256 KB 1169 2024-01-24 14:46:16

Tests(10/10):


#include<bits/stdc++.h> using namespace std; int N; int v[25]; int G; int f[15][25]; int s[15]; int p[25]; int minans; int ha[15]; void input() { cin>>N; for (int i=0;i<N;i++) cin>>v[i]; cin>>G; for (int i=0;i<G;i++) for (int j=0;j<N;j++) cin>>f[i][j]; } void dfs(int n) { int ok=1; for (int i=0;i<N;i++) if (p[i]<v[i]) { ok=0; break; } if (ok) { int ans=0; for (int i=0;i<n;i++) ans+=s[i]; if (ans<=minans) { minans=ans; memset(ha,0,sizeof(ha)); for (int i=0;i<G;i++) if (s[i]==1) ha[i]=1; } return; } if (n==G) return; for (s[n]=0;s[n]<=1;s[n]++) { for (int i=0;i<N;i++) p[i]+=f[n][i]*s[n]; dfs(n+1); for (int i=0;i<N;i++) p[i]-=f[n][i]*s[n]; } } int main() { input(); minans=100000; dfs(0); cout<<minans; for (int i=0;i<G;i++) if (ha[i]) cout<<' '<<i+1; cout<<endl; return 0; }


测评信息: