被制裁的我(救我啊)

5. 交流的喜悦(三)

XJOI - 题目ID:7724选做题100分

最新提交:分

历史最高:分

时间限制: 1000ms

空间限制: 262144kB

题目描述

时间:1s 空间:256M

题目描述:

有n个人,每个人都拥有一个喜悦值,接下来,任意两个人之间会进行一次交流,任意两个人交流所获得的贡献为两个人的喜悦值的乘积,求任意两个人交流所获得的贡献之和

输入格式:

第一行一个整数n

接下来n行,每行一个整数a,表示第i个人的喜悦值

输出格式:

按题目描述输出

样例输入1:

3

2

3

4

样例输出1:

26

约定:

n<=1000

1<=a<=10^100

提示:

4 个赞

#include <bits/stdc++.h>
#include
using namespace std;
int n,x;
int main(){
cin>>n;
int c[10005]={0},t[10005]={0},tt[10005]={0};
int len=0;
for(int i=0;i<n;i++){
char s[1005];
cin>>s;
int lena=strlen(s);
for(int i=0;i<lena;i++){
c[lena-i]+=s[i]-‘0’;
}
for(int i=1;i<len;i++){
c[i+1]+=c[i]/10;
c[i]%=10;
}
while(c[len+i]>0){
len++;
}
}
for(int i=1;i<len;i++){
c[i]*=(n-1);
}
for(int i=1;i<=len;i++){
c[i+1]+=c[i]/10;
c[i]%=10;
}
while(c[len+1]>0){
len++;
}
while(c[len]==0&&len>1){
len–;
}
for(int i=len;i>=1;i–){
t[i]=c[i];
}
for(int i=len;i>=1;i–){
tt[i]+=(t[i]+c[i])%10;
tt[i-1]+=(t[i]+c[i])/10;
}
for(int i=0+(tt[i]==0)*1;i<=len;i++){
cout<<tt[i];
}
return 0;
}

2 个赞

你这代码连样例都过不了

2 个赞

please再改改

2 个赞

哦。

3 个赞