LHR38 2023-04-14 17:48 采纳率: 0%
浏览 3

t20171215a1BILL的账单 算法?

Bill(bill)
【问题描述】

大家都知道,高三的同学很辛苦,需要补充很多营养。但是由于CZYZ高三教室在 4楼和5楼,而高一教室在 1楼和2楼,所以导致高三同学总是很难到想吃的东西。又由于D,G,Z的动作总是很慢,所以想吃到不错的午餐更是艰难。

所以自从不用上课,X 就承担下了代购午餐的任务。但是由于 X 不上晚自习,不能代购晚餐,所以大家商议决定每周轮流留一张饭卡给X。

可是计划赶不上变化,期间出现了忘换饭卡之类的一系列问题,导致了账目的混乱,于是X又承担下了记录账目的任务。

每天被账目搞得一团糟的X 想请你帮她写一个程序,来清楚地记账。

【输入格式】

第 1行一个整数 n(0<n≤10000), 表示需要记录账目天数。

第 2至n行每行两个字母(只含D,G,Z),表示前一个同学欠后一个同学一顿饭,字

母之间有一个空格。

【输出格式】

共 3行,每行一个字母和一个数字,之间有一个空格,行末无空格。

第 1行D x1

第 2行G x2

第 3行Z x3

Xi 为正数是表示该同学欠了别人 xi 顿;0 表示该同学既不欠人,也不被欠;负数表示

该同学被欠xi顿。

【样例输入】

5

D G

G D

G Z

D G

D Z

【样例输出】

D 2

G 0

Z -2
求方法

  • 写回答

2条回答 默认 最新

  • Leodong. 2023-04-14 18:03
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    这道题可以使用哈希表来记录每个同学欠或被欠的饭卡数目。具体实现步骤如下:

    1. 定义一个哈希表,用于记录每个同学欠或被欠的饭卡数目,初始值为0。

    2. 读入每一天的账目,对于每一对欠饭的同学,更新哈希表中对应同学的饭卡数目。

    3. 遍历哈希表,输出每个同学欠或被欠的饭卡数目。

    C++代码实现如下:

    #include <iostream>
    #include <unordered_map>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
    
        unordered_map<char, int> bill;
        bill['D'] = bill['G'] = bill['Z'] = 0;
    
        while (n--) {
            char debtor, creditor;
            cin >> debtor >> creditor;
            bill[debtor]--;  // debtor欠了creditor一顿饭,所以负数
            bill[creditor]++;
        }
    
        cout << "D " << bill['D'] << endl;
        cout << "G " << bill['G'] << endl;
        cout << "Z " << bill['Z'] << endl;
    
        return 0;
    }
    

    该程序首先读入需要记录的天数n,然后定义一个哈希表bill,用于记录每个同学欠或被欠的饭卡数目,初始值为0。接下来,使用while循环读入每一天的账目,对于每一对欠饭的同学,更新哈希表中对应同学的饭卡数目。最后,遍历哈希表,输出每个同学欠或被欠的饭卡数目。

    对于样例输入,程序输出结果如下:

    D 2
    G 0
    Z -2
    

    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论

报告相同问题?

问题事件

  • 创建了问题 4月14日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂