Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173639 C班-杨渔 交流 C++ 无测评数据 0 0 MS 0 KB 879 2024-08-20 22:30:59

Tests(0/0):


#include <iostream> #include <cstring> using namespace std; // int lentmp,lenans=1,tmp[100000],ans[100000]; void plusnum() { for (int i=1;i<=max(lentmp,lenans);++i) { ans[i]+=tmp[i]; if (ans[i]>9) { ans[i]-=10; ++ans[i+1]; } } lenans=max(lentmp,lenans); if (ans[lenans+1]) ++lenans; } void solve(int num) { int x=0,t=lenans; lenans+=10; for (int i=1;i<=lenans;++i) { if (i<=t) ans[i]*=num; ans[i]+=x; x=ans[i]/10; ans[i]%=10; } while (lenans>1 && ans[lenans]==0) --lenans; } // int main() { int n,m; scanf("%d",&n); m=(n-1)*(n-2)/2; // for (int i=1;i<=n;++i) { string s; cin>>s; memset(tmp,0,sizeof(tmp)); for (int i=s.size()-1,j=1;i>=0;--i,++j) tmp[j]=s[i]-'0'; lentmp=s.size(); plusnum(); } solve(m); for (int i=lenans;i>=1;--i) printf("%d",ans[i]); return 0; }