随笔 - 14,  文章 - 0,  评论 - 4,  阅读 - 439

题目链接
简介:对一些数字,余念安可以反转一个数字,齐夏将两个数字首尾相连变为一个数字。每个人都采取最优策略。
名单上只剩下一个号码。如果该整数不小于  10的m次方 ,则齐夏获胜。否则余念安就赢了。

分析 :博弈论问题,结局已经确定,可知 变成了位数个数之争,齐夏要通过合并数字使得位数个数不会减小,余念安要通过反转数字(得到前导零)减小位数个数。

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int qu(ll x)

{

    int cnt=0;

    while(x)

    {

        x/=10;

        cnt++;

    }

    return cnt;

}

vector<int>a;

void du(ll x)

{

    int cnt=0;

    while(x%10==0)

    {cnt++;x/=10;}

    a.push_back(cnt);

}

int n,m;

void solve()

{

    a.clear();

   cin>>n>>m;

   int sum=0;

   for(int i=0;i<n;i++) {

    ll d; cin>>d;

    sum+=qu(d);

    du(d);

   }

   sort(a.begin(),a.end());

   int k=0;

   for(int i=n-1;i>=0;i--)

   {

    if(k==0)

    sum-=a[i],k=1;

    else

    if(k) k=0;

   }

   if(sum>m) cout<<"Sasha"<<"\n";

   else cout<<"Anna"<<"\n";

}

int main()

{

    int t;cin>>t;

    while(t--)

    {

        solve();

    }

    return 0;

}
posted on   嗯嗯好傅  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示