计算机学院大学生程序设计竞赛(2015’12)1001 The Country List

本文探讨了一种算法,用于在给定国家名字列表中识别难区分的国家名称。难区分意味着这些名称长度相同,且在对应位置上有三个或三个以上的相同字母。算法通过比较国家名称来实现这一目标。

题意:在n个国家的名字中,找出多少个难区分的国家的名字,(难区分:长度相同,且每个单词中在对应的位置上有三个或三个以上的相同的字母)

注意:不区分大小写

#include<stdio.h>

#include<string.h>
char s[105][25];
int mark[105];
char change(char c)
{
    if(c>='a'&&c<='z')
    {
        return c-32;
    }
    else return c; //注意不是小写字母的也要返回一个值,没有返回值,则下面的对应位置上就会出错
}
int main()
{
    int n,sum,i,j,k,count;
    while(scanf("%d",&n)!=EOF)
    {
        sum=0;
        memset(s,0,sizeof(s));
        for(i=0;i<n;i++)
        {
            scanf("%s",s[i]);
        }
        memset(mark,0,sizeof(mark));
        for(i=0;i<n-1;i++)
        {
            for(j=i+1;j<n;j++)
            {
                if(strlen(s[i])==strlen(s[j]))
                {
                    count=0;
                    for(k=0;k<strlen(s[i]);k++)
                    {
                        if(change(s[i][k])==change(s[j][k]))
                            count++;
                    }
                    if(count>2)
                    {
                        if(mark[i]==0) //注意:用mark标记的原因:第一个只和第三个难区分,但第二个和第四个难区分,则就算四个了
                        {
                            mark[i]=1;
                            sum++;
                        }
                        if(mark[j]==0)
                        {
                            mark[j]=1;
                            sum++;
                        }    
                    }
                }
            }
        }
        printf("%d\n",sum);
    }
}
====================================================================== 开始执行蔬菜销售预测分析程序 ====================================================================== [08:17:41] 步骤 1: 开始数据预处理 [08:17:41] 步骤 1.1: 读取附件1和附件2数据 [08:18:16] 步骤 1.2: 合并数据集: 单品编码=251条, 销售记录=878503条 [08:18:16] 步骤 1.3: 处理退货数据 [08:18:16] 步骤 1: 数据预处理完成, 共处理878503条记录 [08:18:16] 步骤 2: 开始创建透视表 [08:18:16] 步骤 2.1: 计算每日指标 [08:18:17] 步骤 2.2: 计算退货率 [08:18:17] 步骤 2.3: 创建透视表 [08:18:17] 步骤 2: 透视表创建完成 [08:18:17] 步骤 3: 开始保存结果 [08:18:17] 步骤 3.1: 保存 price 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_price.xlsx [08:18:20] 步骤 3.1: 保存 vol 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_vol.xlsx [08:18:22] 步骤 3.1: 保存 sales 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_sales.xlsx [08:18:25] 步骤 3: 结果保存完成 [08:18:25] 步骤 5: 开始Prophet时间序列分析 [08:18:25] 步骤 4: 开始Prophet分析 [08:18:25] 步骤 4.1: 读取预处理数据 [08:18:27] 步骤 4.2: 验证和清洗日期数据 [08:18:27] 步骤 4.2: 移除了 0 条无效日期记录 [08:18:27] 步骤 4.2: 对齐日期范围: 2020-07-01 00:00:00 到 2023-06-30 00:00:00 ========================================================================================== 表3 各品类蔬菜的 Prophet 模型评估指标 ========================================================================================== 品类名称 R² MAE RMSE 性能评级 ------------------------------------------------------------------------------------------ [08:18:27] 步骤 4.2: 开始分析 4 个品类 [08:18:27] 步骤 4.2: 分析品类 1/4: ds [08:18:27] 步骤 4.2: 转换数值失败: arg must be a list, tuple, 1-d array, or Series,跳过该品类 [08:18:27] 步骤 4.2: 分析品类 2/4: 品类总销量 [08:18:27] 步骤 4.3: 数据准备完成: 6474条记录 [08:18:28] 步骤 4.5: 训练模型中... 08:18:44 - cmdstanpy - INFO - Chain [1] start processing 08:21:28 - cmdstanpy - INFO - Chain [1] done processing [08:21:28] 步骤 4.6: 生成预测 品类总销量 0.1360 49.57 71.28 较差 [08:21:36] 步骤 4: Prophet分析失败: 'MA极E' ====================================================================== Prophet分析结果汇总 ====================================================================== 警告: 没有生成任何Prophet分析结果 ====================================================================== 程序执行完成!所有分析结果已保存 ====================================================================== PS C:\Users\青云\AppData\Local\Programs\Microsoft VS Code> & D:\python.exe d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py:22: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-<style>'. Alternatively, directly use the seaborn API instead. plt.style.use('seaborn-whitegrid') ====================================================================== 开始执行蔬菜销售预测分析程序 ====================================================================== [08:23:01] 步骤 1: 开始数据预处理 [08:23:01] 步骤 1.1: 读取附件1和附件2数据 [08:23:35] 步骤 1.2: 合并数据集: 单品编码=251条, 销售记录=878503条 [08:23:35] 步骤 1.3: 处理退货数据 [08:23:36] 步骤 1: 数据预处理完成, 共处理878503条记录 [08:23:36] 步骤 2: 开始创建透视表 [08:23:36] 步骤 2.1: 计算每日指标 [08:23:36] 步骤 2.2: 计算退货率 [08:23:36] 步骤 2.3: 创建透视表 [08:23:36] 步骤 2: 透视表创建完成 [08:23:36] 步骤 3: 开始保存结果 [08:23:36] 步骤 3.1: 保存 price 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_price.xlsx [08:23:39] 步骤 3.1: 保存 vol 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_vol.xlsx [08:23:42] 步骤 3.1: 保存 sales 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C题\结果\品类级销售数据_sales.xlsx [08:23:45] 步骤 3: 结果保存完成 [08:23:45] 步骤 5: 开始Prophet时间序列分析 [08:23:45] 步骤 4: 开始Prophet分析 [08:23:45] 步骤 4.1: 读取预处理数据 [08:23:46] 步骤 4.2: 验证和清洗日期数据 [08:23:46] 步骤 4.2: 移除了 0 条无效日期记录 [08:23:46] 步骤 4.2: 对齐日期范围: 2020-07-01 00:00:00 到 2023-06-30 00:00:00 ========================================================================================== 表3 各品类蔬菜的 Prophet 模型评估指标 ========================================================================================== 品类名称 R² MAE RMSE 性能评级 ------------------------------------------------------------------------------------------ [08:23:46] 步骤 4.2: 开始分析 4 个品类 [08:23:46] 步骤 4.2: 分析品类 1/4: ds [08:23:46] 步骤 4.2: 转换数值失败: arg must be a list, tuple, 1-d array, or Series,跳过该品类 [08:23:46] 步骤 4.2: 分析品类 2/4: 品类总销量 [08:23:46] 步骤 4.3: 数据准备完成: 6474条记录 [08:23:47] 步骤 4.5: 训练模型中... 08:24:03 - cmdstanpy - INFO - Chain [1] start processing 08:26:48 - cmdstanpy - INFO - Chain [1] done processing [08:26:49] 步骤 4.6: 生成预测 品类总销量 0.1360 49.57 71.28 较差 [08:26:57] 步骤 4: Prophet分析失败: 'MA极E' ====================================================================== Prophet分析结果汇总 ====================================================================== 警告: 没有生成任何Prophet分析结果 ====================================================================== 程序执行完成!所有分析结果已保存 ======================================================================
08-08
Traceback (most recent call last): File "pandas\_libs\tslibs\parsing.pyx", line 679, in pandas._libs.tslibs.parsing.dateutil_parse ValueError: day is out of range for month The above exception was the direct cause of the following exception: Traceback (most recent call last): File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 300, in <module> main() File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 286, in main prophet_results = prophet_analysis_with_visualization(target_category='花叶类') File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 131, in prophet_analysis_with_visualization df = sales_df[['ds', col]].rename(columns={col: 'y'}).query('y > 0') File "D:\lib\site-packages\pandas\core\frame.py", line 4440, in query res = self.eval(expr, **kwargs) File "D:\lib\site-packages\pandas\core\frame.py", line 4566, in eval return _eval(expr, inplace=inplace, **kwargs) File "D:\lib\site-packages\pandas\core\computation\eval.py", line 336, in eval parsed_expr = Expr(expr, engine=engine, parser=parser, env=env) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 809, in __init__ self.terms = self.parse() File "D:\lib\site-packages\pandas\core\computation\expr.py", line 828, in parse return self._visitor.visit(self.expr) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 421, in visit_Module return self.visit(expr, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 424, in visit_Expr return self.visit(node.value, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 719, in visit_Compare return self.visit(binop) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 537, in visit_BinOp v = Timestamp(ensure_decoded(v)) File "pandas\_libs\tslibs\timestamps.pyx", line 1667, in pandas._libs.tslibs.timestamps.Timestamp.__new__ File "pandas\_libs\tslibs\conversion.pyx", line 280, in pandas._libs.tslibs.conversion.convert_to_tsobject File "pandas\_libs\tslibs\conversion.pyx", line 557, in pandas._libs.tslibs.conversion.convert_str_to_tsobject File "pandas\_libs\tslibs\parsing.pyx", line 329, in pandas._libs.tslibs.parsing.parse_datetime_string File "pandas\_libs\tslibs\parsing.pyx", line 683, in pandas._libs.tslibs.parsing.dateutil_parse pandas._libs.tslibs.parsing.DateParseError: day is out of range for month: 0 PS C:\Users\青云\AppData\Local\Programs\Microsoft VS Code> & D:\python.exe d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py:17: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-<style>'. Alternatively, directly use the seaborn API instead. plt.style.use('seaborn-whitegrid') ====================================================================== 开始执行蔬菜销售预测分析程序 ====================================================================== [22:51:07] 步骤 1: 开始数据预处理 [22:51:07] 步骤 1.1: 读取附件1和附件2数据 [22:51:45] 步骤 1.2: 合并数据集: 单品编码=251条, 销售记录=878503条 [22:51:45] 步骤 1.3: 处理退货数据 [22:51:45] 步骤 1: 数据预处理完成, 共处理878503条记录 [22:51:45] 步骤 2: 开始创建透视表 [22:51:45] 步骤 2.1: 计算每日指标 [22:51:45] 步骤 2.2: 计算退货率 [22:51:45] 步骤 2.3: 创建透视表 [22:51:45] 步骤 2: 透视表创建完成 [22:51:45] 步骤 3: 开始保存结果 [22:51:45] 步骤 3.1: 保存 price 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C235问题二output_price.xlsx [22:51:48] 步骤 3.1: 保存 vol 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C235问题二output_vol.xlsx [22:51:51] 步骤 3.1: 保存 sales 数据到: D:\虚拟c盘\大学\竞赛\数学建模\2023年C题\C235问题二output_sales.xlsx [22:51:54] 步骤 3: 结果保存完成 [22:51:54] 步骤 5: 开始Prophet时间序列分析 [22:51:54] 步骤 4: 开始Prophet分析 [22:51:54] 步骤 4.1: 读取预处理数据 [22:51:56] 步骤 4.2: 验证和清洗日期数据 [22:51:56] 步骤 4.2: 移除了 0 条无效日期记录 [22:51:56] 步骤 4.2: 有效日期范围: 2020-07-01 00:00:00 到 2023-06-30 00:00:00 [22:51:56] 步骤 4.2: 开始分析 4 个品类 [22:51:56] 步骤 4.2: 分析品类 1/4: ds Traceback (most recent call last): File "pandas\_libs\tslibs\parsing.pyx", line 679, in pandas._libs.tslibs.parsing.dateutil_parse ValueError: day is out of range for month The above exception was the direct cause of the following exception: Traceback (most recent call last): File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 324, in <module> main() File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 310, in main prophet_results = prophet_analysis_with_visualization(target_category='花叶类') File "d:/虚拟c盘/大学/竞赛/数学建模/2023年C题/C235问题二prophet.py", line 155, in prophet_analysis_with_visualization df = sales_df[['ds', col]].rename(columns={col: 'y'}).query('y > 0') File "D:\lib\site-packages\pandas\core\frame.py", line 4440, in query res = self.eval(expr, **kwargs) File "D:\lib\site-packages\pandas\core\frame.py", line 4566, in eval return _eval(expr, inplace=inplace, **kwargs) File "D:\lib\site-packages\pandas\core\computation\eval.py", line 336, in eval parsed_expr = Expr(expr, engine=engine, parser=parser, env=env) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 809, in __init__ self.terms = self.parse() File "D:\lib\site-packages\pandas\core\computation\expr.py", line 828, in parse return self._visitor.visit(self.expr) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 421, in visit_Module return self.visit(expr, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 424, in visit_Expr return self.visit(node.value, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 719, in visit_Compare return self.visit(binop) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 537, in visit_BinOp return self._maybe_evaluate_binop(op, op_class, left, right) File "D:\lib\site-packages\pandas\core\computation\expr.py", line 504, in _maybe_evaluate_binop res = op(lhs, rhs) File "D:\lib\site-packages\pandas\core\computation\ops.py", line 380, in __init__ self.convert_values() File "D:\lib\site-packages\pandas\core\computation\ops.py", line 478, in convert_values v = Timestamp(ensure_decoded(v)) File "pandas\_libs\tslibs\timestamps.pyx", line 1667, in pandas._libs.tslibs.timestamps.Timestamp.__new__ File "pandas\_libs\tslibs\conversion.pyx", line 280, in pandas._libs.tslibs.conversion.convert_to_tsobject File "pandas\_libs\tslibs\conversion.pyx", line 557, in pandas._libs.tslibs.conversion.convert_str_to_tsobject File "pandas\_libs\tslibs\parsing.pyx", line 329, in pandas._libs.tslibs.parsing.parse_datetime_string File "pandas\_libs\tslibs\parsing.pyx", line 683, in pandas._libs.tslibs.parsing.dateutil_parse pandas._libs.tslibs.parsing.DateParseError: day is out of range for month: 0
08-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值