http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=832

Problem Description

In the world line 1.048596%

“为了帮助笨蛋梓川利用程序来解决青春期症候群的问题,我觉得有必要你给你普及一下C语言的内存知识。”

今天的双叶理央也依然在理科实验室用烧杯煮咖啡。

“我已经几年没有用过这个东西,还被人可怜的说是原始人了哦。”梓川咲太看着眼前的电脑,虽然知道基本用法,但止步于上网查找资料。

“还是从基本的开始说起吧。”双叶理央把C++ Prime Plus递给梓川咲太,“从这一页开始念。”

“众所周知......在常用的基本变量类型有6种,对于每一种基本变量类型中:

int占用4个字节;

bool占用1个字节,

long long占用8个字节,

double占用8个字节,

char占用1个字节,

float占用4个字节。”

这是哪个世界线的咒语吗?梓川咲太想不明白。

“计算机中各种存储容量的单位都是用字节(Byte简为B)来表示,此外还有KB(千字节)、MB(兆字节)、GB(千兆字节)和TB(太字节),他们的关系是:

1KB=1024 Bytes=2的10次方 Bytes

1MB=1024KB=2的20次方 Bytes

1GB=1024MB=2的30次方 Bytes

1TB=1024GB=2的40次方 Bytes......”

梓川咲太的脑容量是多少KB呢?他本人也想不懂,但肯定不是用TB来衡量的。

“好了基础知识讲解完毕,你去写一个程序,给你n个这六种类型的变量,求出这些变量理论上需要使用多少KB(千字节)的内存,记得向上取整。”

说完双叶理央就离开了理科实验室,留下对着电脑干瞪眼的梓川咲太。

因为古贺朋绘的缘故,这个场景已经经历了三四遍,但梓川咲太依旧一筹莫展,也许再经历三四百遍也无济于事吧。

真的是这样吗?眼前的电脑突然接收了一份邮件,里面是双叶理央要求梓川咲太编写的程序。

 

 

Input

第一行一个整数T,代表有T组样例。

对于每组样例:

第一行n标识输入有n行 (n<=100000)

接下来n行如上述所示。

输入保证:

1:每一行只有一个标识

2:输入的基本格式为:

<变量类型> <变量名>;

3:一行只有一个类型

4:变量名的长度不超过10,且对于每组样例,输入的n个变量名均不同

例如

存在:int a;

而不存在:int a,b;

5:n的和不超过200000

 

 

Output

输出用了多少KB(千字节)内存(向上取整)

 

 

Sample Input


 

1 1 int a;

 

 

Sample Output


 

1

C++版本一

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG

using namespace std;
typedef long long ll;
const int N=10000;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m;

int main()
{
#ifdef DEBUG
	freopen("input.in", "r", stdin);
	//freopen("output.out", "w", stdout);
#endif
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        char a[100],b[100];
        int ans=0;
        getchar();
        while(n--){
            gets(a);
            int d=0;
            while(a[d]==' ')d++;
            if(a[d]=='i'||a[d]=='f')ans+=4;
            if(a[d]=='l'||a[d]=='d')ans+=8;
            if(a[d]=='b'||a[d]=='c')ans+=1;
        }
        int anst=ans/1024;
        if(ans%1024)anst++;
        cout << anst << endl;
    }

    //cout << "Hello world!" << endl;
    return 0;
}