HDU4415 Assassin’s Creed
2012-09-24 13:18
260 查看
贪心
看了评论后完善的代码
1
6 5
1 0
1 0
1 0
1 0
1 0
5 1
ans: 5 5
上面的程序输出是2 5(不过也AC了可能是数据不够强)
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int Ni = 100010; struct node{ int a,b; bool operator < (const node &aa) const { return a<aa.a; } }arr[Ni]; int main() { int i,n,m,t,k,cs=1; scanf("%d",&t); while(t--) { int ansm=0,ansn=0;k=-1; scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%d%d",&arr[i].a,&arr[i].b); sort(arr,arr+n); for(i=0;i<n;i++) if(arr[i].b>=1) break; if(arr[i].a<=m) { ansm+=arr[i].a;k=i;ansn++; for(i=0;i<n;i++) ansn+=arr[i].b; } if(ansn>=n) {printf("Case %d: %d %d\n",cs++,n,ansm);continue;} for(i=0;i<n&&arr[i].a+ansm<=m&&ansn!=n;i++) if(i!=k) {ansm+=arr[i].a;ansn++;} printf("Case %d: %d %d\n",cs++,ansn,ansm); } return 0; }
看了评论后完善的代码
1
6 5
1 0
1 0
1 0
1 0
1 0
5 1
ans: 5 5
上面的程序输出是2 5(不过也AC了可能是数据不够强)
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int Ni = 100010; struct node{ int a,b; bool operator < (const node &aa) const { return a<aa.a; } }arr[Ni]; int main() { int i,n,m,t,k,cs=1; scanf("%d",&t); while(t--) { int ansm=0,ansn=0;k=-1; scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%d%d",&arr[i].a,&arr[i].b); sort(arr,arr+n); for(i=0;i<n;i++) if(arr[i].b>=1) break; if(arr[i].a<=m) { ansm+=arr[i].a;k=i;ansn++; for(i=0;i<n;i++) ansn+=arr[i].b; } if(ansn>=n) {printf("Case %d: %d %d\n",cs++,n,ansm);continue;} for(i=0;i<n&&arr[i].a+ansm<=m&&ansn!=n;i++) if(i!=k) {ansm+=arr[i].a;ansn++;} int ans_n=ansn,ans_m=ansm; //考虑不杀有刀的人 ansn=0;ansm=0; for(i=0;i<n&&arr[i].a+ansm<=m&&ansn!=n;i++) {ansm+=arr[i].a;ansn++;} if(ans_n>ansn||(ans_n==ansn&&ans_m<ansm)) printf("Case %d: %d %d\n",cs++,ans_n,ans_m); else printf("Case %d: %d %d\n",cs++,ansn,ansm); } return 0; }
相关文章推荐
- 【贪心】 hdu4415 Assassin’s Creed
- ACM学习历程—HDU4415 Assassin’s Creed(贪心)
- hdu4415 Assassin’s Creed
- hdu4415 Assassin’s Creed (贪心)
- hdu4415 Assassin’s Creed
- Assassin’s Creed(hdu4415,贪心)
- hdu4415 Assassin’s Creed
- hdu4415 Assassin's Creed
- HDU4415 Assassin’s Creed 2012ACM/ICPC 杭州赛区网络赛 F
- hdu 4415 Assassin’s Creed 贪心
- Assassin’s Creed贪心)
- LightOJ - 1429-Assassin`s Creed (II)(tarjan找环缩点+bfs+最小路径覆盖)
- hdu-4415-Assassin’s Creed
- Assassin’s Creed(天津online)
- lightoj 1429 - Assassin`s Creed (II) 【BFS预处理传递闭包 + SCC缩点 + DAG最小路径覆盖】
- hdu 4415 Assassin’s Creed
- HDU 4415 Assassin’s Creed
- Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖
- LightOJ - 1429 Assassin`s Creed (II)(二分图)
- HDU 4415 Assassin’s Creed 苦逼的贪心