P6014 [CSGRound3]斗牛
作者:互联网
https://www.luogu.com.cn/problem/P6014
模拟,贪心
黄色题
思路:
模拟,贪心
黄色题
思路:
首先有一个比较显然的结论:选牌的方式和最终点数无关。
如果所有牌的点数和的个位数为 xx,那么无论我们怎么取那 n-2n−2 张牌,因为那 n-2n−2 张牌的点数和总是 1010 的倍数,这一局的点数和也一定是 xx。
当然,上面这一切成立的前提是存在一种取 22 张牌的方式使得这两张牌的点数和的个位数为 xx。
完成这个判断,我们只需记录一下每种牌的出现次数即可。
逆转思维: 正难则反
#include <iostream> using namespace std; int t[15]; int main() { int n,ans=0; cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; t[x%10]++; ans=(ans+x)%10; } for(int i=0;i<=9;i++)//枚举两种不同的牌 for(int j=i+1;j<=9;j++) if(t[i]&&t[j]&&(i+j)%10==ans) { cout<<(!ans?10:ans)<<endl; return 0; } for(int i=0;i<=9;i++)//枚举两种相同的牌 if(t[i]>=2&&(i+i)%10==ans) { cout<<(!ans?10:ans)<<endl; return 0; } cout<<0<<endl; return 0; }
标签:10,int,CSGRound3,张牌,xx,P6014,ans,点数,斗牛 来源: https://www.cnblogs.com/2elaina/p/16561223.html