洛谷 P3112 後衛馬克Guard Mark
阿新 • • 發佈:2018-08-07
href org one eof https %d () spa ostream
->題目鏈接
題解:
貪心+模擬
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int inf=1e9+7; int n,H,h[25],w[25],s[25],f[(1<<20)+1],g[(1<<20)+1],ans=-1; int main() { scanf("%d%d",&n,&H);ACfor(int i=0; i<=n-1; i++) scanf("%d%d%d",&h[i],&w[i],&s[i]); memset(f,-1,sizeof(f)); f[0]=inf; for(int i=0; i<=(1<<n)-1; i++) for(int j=0; j<=n-1; j++) if(f[i]>=w[j]) { if((i>>j)&1) continue;int k=i^(1<<j); f[k]=max(f[k],min(f[i]-w[j],s[j])); g[k]=g[i]+h[j]; if(g[k]>=H) ans=max(ans,f[k]); } if(ans<0) printf("Mark is too tall"); else printf("%d",ans); return 0; }
擁抱過後,我的雙手應該放在哪裏
洛谷 P3112 後衛馬克Guard Mark