贪心)"/>
Educational Codeforces Round 27 B Luba And The Ticket(贪心)
题目链接:点击打开链接
贪心策略:知道数字和较小端和较大端时,较小的数字最多能加上9-num,较大的则是num
所以得出六个数字对平衡的贡献,只需对其排序后处理即可
AC代码如下
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int solve(int* s, int* l, int d)
{int num[7];for(int i=1;i<=3;++i)num[i] = 9 - s[i-1], num[i+3]=l[i-1];sort(num+1,num+7);int cnt=0;while(d>0)d-=num[6-cnt++];return cnt;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);int num[7];string s;while(cin>>s){for(int i=1;i<=6;++i)num[i] = s[i-1] -'0';int l=0, r=0;for(int i=0;i<3;++i)l+=num[i+1], r+=num[6-i];if(l>r) cout<<solve(num+4, num+1, l-r)<<endl;else if(l<r) cout<<solve(num+1, num+4, r-l)<<endl;else cout<<0<<endl;}return 0;
}
更多推荐
Educational Codeforces Round 27 B Luba And The Ticket(贪心)
发布评论