【CCF】二十四点

解题思路:

用一个栈来存放数字,遍历字符串:①若遇到数字则直接推入栈中;②若遇到乘除符号则取出栈顶元素,然后将它与乘除符号做运算后的结果数字推入栈中;③若遇到加减符号则将加减符号后的数字直接推入栈中(减号推入负数)。字符串遍历完成后,开始清栈大甩卖,把栈中所有的数字累加到sum,判断sum是否等于24,输出Yes或No即可。

100分代码: 

#include <bits/stdc++.h>
using namespace std;
#define Up(i,a,b) for(int i = a; i <= b; i++)

int main()
{
    ios::sync_with_stdio(false);
    int n;
    cin >> n;
    cin.ignore();
    while(n--)
    {
        stack<int> s;   //用来存放数字
        string str;
        getline(cin,str);   
        Up(i,0,6)
        {
            if(isdigit(str[i]))    //数字
            {
                s.push(str[i]-'0');
            }
            else if(str[i]=='x' || str[i]=='/')  //乘除
            {
                int _ = s.top();
                s.pop();
                if(str[i] == 'x')
                {
                    _ *= (str[++i]-'0');
                }
                else
                {
                    _ /= (str[++i]-'0');
                }
                s.push(_);
            }
            else if(str[i]=='+' || str[i]=='-')  //加减
            {
                if(str[i] == '+')
                {
                    s.push(str[++i]-'0');
                }
                else
                {
                    s.push(-(str[++i]-'0'));
                }
            }
        }
        int sum = 0;
        while(!s.empty())  //清栈大甩卖
        {
            int _ = s.top();
            sum += _;
            s.pop();
        }
        printf("%s\n",sum==24 ? "Yes" : "No");
    }
    return 0;
}

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ABB的控制策略文件格式.CCF(Control Configuration File)是ABB DCS系统中的一种组态文件格式,包含了控制策略的配置信息。将.CCF文件转化为XML格式,可以方便地进行解析和处理。以下是一个用Python打开转化为XML格式的例子: ```python import xml.etree.ElementTree as ET # 打开.CCF文件并转化为XML格式 ccf_file = 'example.ccf' xml_file = 'example.xml' with open(ccf_file, 'rb') as ccf: with open(xml_file, 'wb') as xml: # 读取.CCF文件内容 ccf_data = ccf.read() # 去掉CCF文件头 ccf_data = ccf_data[24:] # 写入XML文件头 xml.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n') # 将.CCF数据转化为XML格式 root = ET.fromstring(ccf_data) # 将XML数据写入文件 xml.write(ET.tostring(root, encoding='unicode')) # 打印XML格式的数据 tree = ET.parse(xml_file) root = tree.getroot() print(ET.tostring(root, encoding='unicode')) ``` 在上面的代码中,我们首先打开一个.CCF文件,并将其转化为XML格式。具体来说,我们去掉了CCF文件头,然后使用Python内置的xml.etree.ElementTree模块将.CCF数据转化为XML格式。最后,我们将XML格式的数据写入文件,并使用ET.parse()函数将其读取并打印出来。 需要注意的是,由于.CCF文件格式并不是标准的XML格式,因此在转化为XML格式时可能会出现一些问题。例如,有些XML标签可能会缺失,有些属性可能会被解析错误等。因此,在使用Python解析.CCF文件时,需要谨慎处理,确保数据的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢ctrl的cxk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值