SDUT[4106] 手速300的男人

本文介绍了一个简单的算法,用于判断给定字符串是否能通过左右手交替敲击键盘完成输入。通过对每个字符判断其属于左手还是右手输入,实现对整个字符串的左右手交替输入检查。

一句话题意

告诉你26个字母用左手敲还是右手敲,给你一个字符串,问是否按照上面的规则是左右手轮换敲的。


分析:

简单的模拟,左手为设为0,右手为1,看是否为01交替。


AC代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char left[100], right[100];

int Find_left(char key)//查找此字母是不是用左手按,是左手按返回1,否则是右手按返回0
{
    int i, len = strlen(left);
    for (i = 0; i < len; i++)
        if (left[i] == key)
            return 1;
    return 0;
}

int main()
{
    int q, data[110], i;
    scanf("%s%s", left, right);
    char s[110];
    scanf("%d", &q);
    while (q--)
    {
        scanf("%s", s);
        int len = strlen(s);
        for (i = 0; i < len; i++)
            data[i] = Find_left(s[i]);
        int ans = 1;
        for (int i = 1; i < len; i++)//判断data数组是否是01交替,即左右手交替
            if (data[i] == data[i - 1])//如果不是交替,则把ans置为0
                ans = 0;
        if (ans == 1)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}
混合动力汽车(HEV)模型的Simscape模型(Matlab代码、Simulink仿真实现)内容概要:本文档介绍了一个混合动力汽车(HEV)的Simscape模型,该模型通过Matlab代码和Simulink仿真工具实现,旨在对混合动力汽车的动力系统进行建模与仿真分析。模型涵盖了发动机、电机、电池、传动系统等关键部件,能够模拟车辆在不同工况下的能量流动与控制策略,适用于动力系统设计、能耗优化及控制算法验证等研究方向。文档还提及该资源属于一个涵盖多个科研领域的MATLAB仿真资源包,涉及电力系统、机器学习、路径规划、信号处理等多个技术方向,配套提供网盘下载链接,便于用户获取完整资源。; 适合人群:具备Matlab/Simulink使用基础的高校研究生、科研人员及从事新能源汽车系统仿真的工程技术人员。; 使用场景及目标:①开展混合动力汽车能量管理策略的研究与仿真验证;②学习基于Simscape的物理系统建模方法;③作为教学案例用于车辆工程或自动化相关课程的实践环节;④与其他优化算法(如智能优化、强化学习)结合,实现控制策略的优化设计。; 阅读建议:建议使用者先熟悉Matlab/Simulink及Simscape基础操作,结合文档中的模型结构逐步理解各模块功能,可在此基础上修改参数或替换控制算法以满足具体研究需求,同时推荐访问提供的网盘链接获取完整代码与示例文件以便深入学习与调试。
### 写数字识别实验:MNIST 数据集与 Python 代码示例 写数字识别是一个经典的机器学习问题,通常使用 MNIST 数据集进行训练和测试。MNIST 数据集包含 60,000 张训练图像和 10,000 张测试图像,每张图像是 28x28 像素的灰度图像,表示从 0 到 9 的写数字[^5]。 以下是基于 MNIST 数据集的写数字识别实验的 Python 代码示例,使用 TensorFlow 和 Keras 框架实现: ```python import tensorflow as tf from tensorflow.keras import layers, models import matplotlib.pyplot as plt # 加载 MNIST 数据集 mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() # 数据归一化处理 x_train, x_test = x_train / 255.0, x_test / 255.0 # 构建神经网络模型 model = models.Sequential([ layers.Flatten(input_shape=(28, 28)), # 将输入图像展平为一维向量 layers.Dense(128, activation='relu'), # 全连接层,激活函数为 ReLU layers.Dropout(0.2), # Dropout 层,防止过拟合 layers.Dense(10, activation='softmax') # 输出层,激活函数为 Softmax ]) # 编译模型 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # 训练模型 history = model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test)) # 评估模型 test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2) print(f'\nTest accuracy: {test_acc}') # 可视化训练过程 plt.plot(history.history['accuracy'], label='accuracy') plt.plot(history.history['val_accuracy'], label='val_accuracy') plt.xlabel('Epoch') plt.ylabel('Accuracy') plt.ylim([0, 1]) plt.legend(loc='lower right') plt.show() ``` 此代码实现了以下功能: 1. **加载数据**:通过 `tf.keras.datasets.mnist` 加载 MNIST 数据集,并对数据进行归一化处理。 2. **构建模型**:使用 Keras 构建一个简单的全连接神经网络,包含一个隐藏层(128 个神经元)和一个输出层(10 个类别)。 3. **编译模型**:选择优化器、损失函数和评估指标。 4. **训练模型**:在训练数据上训练模型,并记录训练过程中的准确率和验证准确率。 5. **评估模型**:在测试数据上评估模型性能,并绘制准确率变化曲线。 ### 实验报告建议内容 - **实验目的**:明确实验目标,例如熟悉深度学习框架 TensorFlow/Keras,了解 MNIST 数据集及其用途。 - **实验环境**:列出实验所需的软件环境,如 Python 版本、TensorFlow 版本等。 - **实验步骤**:详细描述代码实现的每个部分,包括数据预处理、模型构建、训练和评估。 - **实验结果**:展示模型的训练和测试结果,分析模型性能。 - **总结与改进**:总结实验中遇到的问题及解决方法,提出可能的改进方向,如尝试卷积神经网络(CNN)以提高识别准确率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值