#SY0103. 吉利号码

吉利号码

吉利号码

2024 信息素养智能算法应用 复赛 C++ · 初中组第 3 题、小学组第 2 题(两组相同)

题目描述

中国人喜欢图吉利,包括吉利数字,例如数字 8 或者数字 6,尤其是连着的数字更加喜欢,比如手机号码,汽车车牌,房间号码等等。请你根据以下规则,编写一个程序,根据规则给一个号码设置相应的价格。

具体规则如下:

  1. 正常号码是 100 元。
  2. 含有 6 或 8 任何一个数字,每出现一次加 50 元。例如 4326、6875、9918 都符合加分标准。其中 6875 被加 2 个 50 元(相当于加 100 元);9918 被加 50 元。
  3. 如果出现升序或者降序的情况(严格升/降序),号码涨价 3 倍。例如 5678、4321 都要贵 3 倍。注意:5567、4331 等有相同元素的号码不算升降序。
  4. 如果出现三个相同数字的情况,涨 6 倍。例如 4888、6665、7777 都满足。注意:7777 满足这条标准两次,给它涨两个 6 倍(即 36倍)。
  5. 如果符合 AABB 或者 ABAB 模式的,价格涨一倍(×2)。例如 2255、3939、7777 都符合。注意:7777 同时满足 AABB 与 ABAB 两次,涨 2 个一倍。

请编写程序按照所有规则,求一个号码的最终价格。

输入格式

输入共 1 行,一个四位正整数,就是待计算的号码。

输出格式

输出共 1 行,一个整数,表示这个号码对应的销售价格。

样例输入

(测试数据不包含本样例)

6543

样例输出

450

说明

计算顺序:先在基础 100 元上按规则 2 累加 6/8 的奖励,再依次按规则 3、4、5 做乘法倍率。

  • 6543:含一个 6,100 + 50 = 150;4 位严格降序 ×3 → 450

注意事项

请严格按要求输出,不要多余的打印语句。main 函数需要返回 0。只使用 ANSI C/ANSI C++ 标准,所有依赖的头文件需明确 #include