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