题解
2023-07-07 12:21:01
发布于:上海
81阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,sum,max1;
int main()
{
cin>>n;
map<string,int> m;
m["bool"]=1;
m["char"]=1;/
m["short"]=2;
m["int"]=4;
m["float"]=4;
m["longlong"]=8;
m["double"]=8;
string a,b,c;
for(int i=0;i<n;i++)
{
cin>>a>>b;
if(a=="long" && b=="long")
{
cin>>c;
a=a+b;
b=c;
}
int s1=m[a];
max1=max(max1,s1);
int len=b.length(),num=1,c=0,f=0;
for(int j=0;j<len;j++)
{
if(b[j]>='0'&&b[j]<='9')
{
f=1;
c=c*10+(b[j]-48);
}
}
if(f==1) num=c;
if(i==0)
{
sum+=s1*num;
}
else
{
if(sum%s1==0)
{
sum+=(s1*num);
}
else
{
while(sum%s1!=0)
{
sum++;
}
sum+=(s1*num);
}
}
}
while(sum%max1!=0)
{
sum++;
}
cout<<sum;
return 0;
}
全部评论 1
第九行没有/。
2024-01-30 来自 广东
0
有帮助,赞一个