首页 > 其他分享 >牛客题解 武藏牌牛奶促销

牛客题解 武藏牌牛奶促销

时间:2022-09-19 10:59:14浏览次数:100  
标签:小萌 ++ 题解 续杯 瓶子 牛客 INF 武藏

链接:https://ac.nowcoder.com/acm/problem/13592
来源:牛客网

题解

作者 岛田小雅

看到这一题我第一反应想直接模拟,看了下范围感觉可行,但是如果遇到无法判断的 INF 就会导致 TLE。

那么怎么科学地判断它能不能无限续杯呢?

首先,因为小萌老师手里一开始一定有一个瓶子,而且他不能空手套白狼,所以我们能很轻易地得出只要一个瓶子或者一个盖子能换一瓶牛奶,小萌老师就可以无限续杯。

这样交一发,得到一个 TLE。

然后我造了下面的这个数据:

2 2 100 100

用这组数据调试会发现,瓶子和盖子可以互补。只要小萌老师一次用瓶子,一次用盖子,他就可以无限续杯。这种怎么判断呢?我懒得想。因为本题数据范围很小,我们可以换种思路。一旦出现重复的盖子和瓶子数量组合,说明小萌老师可以无限续杯。那么我们可以直接记录当前组合有没有出现过。如果遇到之前出现过的组合,就直接输出 INF。记录可以用 map,也可以用二维 bool 数组。

AC 代码

作者 岛田小雅
#include <bits/stdc++.h>
using namespace std;

int x, y, a, b;
int ans;

int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    while(cin >> x >> y >> a >> b)
    {
        map<pair<int,int>,bool> mp; // 用map记录组合。如果用二维bool数组一定要每次循环清空它。
        if(x==1 || y==1) goto INF;
        ans = 0;
        while(a>=x || b>=y)
        {
            if(mp[pair<int,int>(a,b)]) goto INF;
            mp[pair<int,int>(a,b)] = true;
            ans++;
            a++, b++;
            if(a >= x) a -= x;
            else if(b >= y) b -= y;
        }
        cout << ans << '\n';
        continue;
        INF: cout << "INF\n";
    }
    return 0;
}

标签:小萌,++,题解,续杯,瓶子,牛客,INF,武藏
From: https://www.cnblogs.com/CasseShimada/p/16706911.html

相关文章

  • P1559 运动员最佳匹配问题 题解
    本篇使用\(\text{KM}\)算法求解。对于\(\text{KM}\)算法步骤如下:首先要用邻接矩阵存二分图,然后用贪心算法初始化标杆,运用匈牙利算法找到完美匹配,如果找不到则修改标......
  • SWERC 2021-2022 部分简要题解
    比赛链接:https://codeforc.es/contest/1662。前言「部分」「简要」题解。A-OrganizingSWERC直接判断。C-EuropeanTrip如果不考虑限制,我们可以直接矩乘。考虑......
  • 【题解】CF1311E Construct the Binary Tree
    题目链接-->Problem-E-Codeforces题目大意给定\(n\)和\(d\),你需要构造一棵\(n\)个点的二叉树满足所有点的深度之和恰好为\(d\)。\(2≤n,d≤5000\)。分析......
  • CSP2021-s题解
    T1廊桥分配题目链接P7913[CSP-S2021]廊桥分配\(Lemma:\)对于已经存在的廊桥集合,加入新的廊桥不会影响之前分配好的航班。证明:由于题目所给限制,若有空廊桥,则航......
  • 牛客网-SQL专项训练16
    ①在book表中,将工具书类型(tool)的书的书架序号都减少2,下列语句正确的是(C) 解析:题目要求的批量更改,insert是更改数据,排除B,update与set搭配使用,排除选项D,where条件后边除......
  • Luogu P3674 小清新人渣的本愿 题解
    P3674小清新人渣的本愿lxl大爷的题,%%%%%以及CSPrp++!!!前言:其实是这题的名字吸引了我,毕竟人渣的本愿里的角色我觉得多多少少都沾点,哪来的小清新啊。《人渣的本愿》,又名......
  • 牛客题解 约瑟夫环
    链接:https://ac.nowcoder.com/acm/problem/22227来源:牛客网题解作者岛田小雅正统的约瑟夫环我不会,看了一眼范围直接开始乱搞了。我选择的方法是模拟,用递归函数实现(虽......
  • 2022上半年软件设计师真题解析
    选择题 ......
  • AtCoder Beginner Contest 269 (A-F)题解
    A-AnywayTakahashi这里我还是关了ll的C开了忘了关害的F多了一发罚时#include<bits/stdc++.h>usingnamespacestd;constintN=3e5+10;constintM=9982443......
  • 题解【CF1702G2 Passable Paths (hard version)】
    题目传送门。考虑建立虚树然后再上面搞树形DP。于是这道题就变成分讨题。设\(f_i\)表示\(i\)子树内的答案。若\(f_i=1\),表示\(i\)子树内的特殊点可以被一条链覆......