Baby Ming and phone number

Crawling in process...
Crawling failed
Time Limit:1500MS    
Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

Description

Baby Ming collected lots of cell phone numbers, and he wants to sell them for money.




He thinks normal number can be sold for $b$ yuan, while number with following features can be sold for $a$ yuan.




1.The last five numbers are the same. (such as 123-4567-7777)



2.The last five numbers are successive increasing or decreasing, and the diffidence between two adjacent digits is $1$. (such as 188-0002-3456)




3.The last eight numbers are a date number, the date of which is between Jar 1st, 1980 and Dec 31th, 2016. (such as 188-1888-0809,means August ninth,1888)




Baby Ming wants to know how much he can earn if he sells all the numbers.
 

Input

In the first line contains a single positive integer $T$, indicating number of test case.




In the second line there is a positive integer $n$, which means how many numbers Baby Ming has.(no two same phone number)




In the third line there are $2$ positive integers $a, b$, which means two kinds of phone number can sell $a$ yuan and $b$ yuan.




In the next $n$ lines there are $n$ cell phone numbers.(|phone number|==11, the first number can’t be 0)




$1 \leq T \leq 30, b < 1000, 0 < a, n \leq 100,000$
 

Output

How much Baby Nero can earn.
 

Sample Input

1
5
100000 1000
12319990212
11111111111
22222223456
10022221111
32165491212
 

Sample Output

302000
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
cin>>n;
char str[1010];
__int64 ans=0;
__int64 a,b;
scanf("%lld%lld",&a,&b);
for(int i=0;i<n;i++)
{
memset(str,'\0',sizeof(str));
bool f=false;
scanf("%s",str);
for(int i=0;i<11;i++)
str[i]-='0';
if(str[10]==str[9]&&str[10]==str[8]&&str[10]==str[7]&&str[10]==str[6])
f=true;
else if(str[6]+1==str[7]&&str[7]+1==str[8]&&str[8]+1==str[9]&&str[9]+1==str[10])
f=true;
else if(str[6]-1==str[7]&&str[7]-1==str[8]&&str[8]-1==str[9]&&str[9]-1==str[10])
f=true;
int year=str[3]*1000+str[4]*100+str[5]*10+str[6];
int mon=str[7]*10+str[8];
int day=str[9]*10+str[10];
if(year>=1980&&year<=2016)
{
if(mon==1||mon==3||mon==5||mon==7||mon==8||mon==10||mon==12)
{
if(day<=31)
f=true;
}
if(mon==4||mon==6||mon==9||mon==11)
{
if(day<=30)
f=true;
}
if(mon==2&&day<=28)
f=true;
if((year%4==0&&year%100!=0)||year%400==0)
if(mon==2&&day==29)
f=true;
}
if(f)
ans+=a;
else
ans+=b;
}
printf("%lld\n",ans);
}
return 0;
}

 

hdoj--5611--Baby Ming and phone number(模拟水题)的更多相关文章

  1. hdu 5611 Baby Ming and phone number(模拟)

    Problem Description Baby Ming collected lots of cell phone numbers, and he wants to sell them for mo ...

  2. HDU 5611 Baby Ming and phone number

    #include<cstdio> #include<cstring> #include<vector> #include<cmath> #include ...

  3. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  4. POJ 2014:Flow Layout 模拟水题

    Flow Layout Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3091   Accepted: 2148 Descr ...

  5. hdu 1018:Big Number(水题)

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  6. Codeforces Round #350 (Div. 2) F. Restore a Number 模拟构造题

    F. Restore a Number   Vasya decided to pass a very large integer n to Kate. First, he wrote that num ...

  7. HDOJ 1008. Elevator 简单模拟水题

    Elevator Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  8. CodeForces 689A Mike and Cellphone (模拟+水题)

    Mike and Cellphone 题目链接: http://acm.hust.edu.cn/vjudge/contest/121333#problem/E Description While sw ...

  9. UVA 10714 Ants 蚂蚁 贪心+模拟 水题

    题意:蚂蚁在木棍上爬,速度1cm/s,给出木棍长度和每只蚂蚁的位置,问蚂蚁全部下木棍的最长时间和最短时间. 模拟一下,发现其实灰常水的贪心... 不能直接求最大和最小的= =.只要求出每只蚂蚁都走长路 ...

随机推荐

  1. C++标准库 vector排序

    前天要做一个对C++ STL的vector容器做一个排序操作,之前一直把vector当做一个容量可自动变化的数组,是的,数组,所以打算按照对数组进行排序的方法:用快速排序或是冒泡排序等算法自己写一个排 ...

  2. 使用SELECT语句检索数据

    使用SELECT语句检索数据select指令适用于SQL数据库SELECT 语句用于从数据库中选取数据.(指令不分大小写,选择的值除名字和一些有特殊意义的字符可不分大小写,from结束时一定要加;) ...

  3. flipt 一个基于golang 的特性工具开发类库

    以前介绍过一个Flagr 的基于golang 的特性功能开发类库(技术雷达推荐),今天看到一个类似也很不错的方案flipt 参考架构 包含的特性 快速,使用golang 编写,同时进行了性能优化 运行 ...

  4. wpf 界面加载 Command

    导入 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" <i:Interaction. ...

  5. Bullet:ORACLE Using SQL Plan Management(一)

    SQL Plan Management如何工作? 当一个SQL硬解析时,基于成本的优化器CBO会生成多个执行计划,并从这些执行计划中选择一个优化器认为最低成本的执行计划. 如果SQL plan bas ...

  6. Linux学习笔记记录(三)

    压缩: 例如将/etc 目录压缩为压缩包tar -cjvf  /aaa.tar.bz2  /etc           tar -czvf /aaa.tar.gz  /etc 解压: tar -xjv ...

  7. maven profile多环境自动切换配置,配置分离,排除文件

    痛点: 在java开发的过程中,我们经常要面对各种各样的环境,比如开发环境,测试环境,正式环境,而这些环境对项目的需求也不相同. 在此之前,我们往往需要手动去修改相对应的配置文件然后打成war,才能部 ...

  8. http://localhost/main/company/jurtion---外卖权限添加

    http://localhost/main/company/jurtion---外卖权限添加

  9. 有一张表里面有上百万的数据,在做查询的时候,如何优化?从数据库端,java端和查询语句上回答

    原文:https://www.2cto.com/database/201612/580140.html 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o ...

  10. jQuery对象是怎么创建的

    一.jQuery源码 在jQuery中,$是jQuery的别名,执行“$()”就是执行“jQuery()”,执行“$()”返回的是一个jQuery对象,在源码中,它是这样定义的: ... var jQ ...