编程介的小学生 2019-08-28 10:11 采纳率: 0.4%
浏览 128

C语言,Assassin’s Creed怎么实现

Problem Description
Ezio Auditore is a great master as an assassin. Now he has prowled in the enemies’ base successfully. He finds that the only weapon he can use is his cuff sword and the sword has durability m. There are n enemies he wants to kill and killing each enemy needs Ai durability. Every time Ezio kills an enemy he can use the enemy’s sword to kill any other Bi enemies without wasting his cuff sword’s durability. Then the enemy’s sword will break. As a master, Ezio always want to do things perfectly. He decides to kill as many enemies as he can using the minimum durability cost.

Input
The first line contains an integer T, the number of test cases.
For each test case:
The first line contains two integers, above mentioned n and m (1<=n<=10^5, 1<=m<=10^9).
Next n lines, each line contains two integers Ai, Bi. (0<=Ai<=10^9, 0<=Bi<=10).

Output
For each case, output "Case X: " (X is the case number starting from 1) followed by the number of the enemies Ezio can kill and the minimum durability cost.

Sample Input
2
3 5
4 1
5 1
7 7
2 1
2 2
4 0

Sample Output
Case 1: 3 4
Case 2: 0 0

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-31 09:15
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    int main()
    {
        int t,n,m,k,a,b,c,d,e,f,g,h,i,j,l,mx=INT_MAX,mx1=INT_MAX,ans=0;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%d",&n,&m);
            for(i=0;i<n;i++)
            {
                scanf("%d%d",&a,&b);
                k=min(a,m);
                if(k<b)
                    c=a-k;
                else
                    c=b-a;
                d=k+b-c;
                e=max(d,m-xor(m,d));
                f=xor(n-e,xor(e,c));
                g=xor(f,xor(c,m));
                h=g+xor(g,g);
                ans=min(ans,h);
            }
            printf("Case %d: ",++k);
            printf("%d %d\n",n-ans,m-ans);
        }
    
        return 0;
    }
    
    评论

报告相同问题?