Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
81669 | 杨竣周 | circle | C++ | 输出超限 | 9 | 612 MS | 1644 KB | 909 | 2023-08-09 18:05:22 |
#include<bits/stdc++.h> using namespace std; int t; unsigned long long n; string x(string str1, string str2){ int sum[114514],a[114514],b[114514]; memset(sum,0,sizeof(sum)); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); int len1=str1.size(),len2=str2.size(); for(int i=1;i<=len1;i++) a[i]=str1[len1-i]-48; for(int i=1;i<=len2;i++) b[i]=str2[len2-i]-48; int lenS=len1+len2-1; for(int i=1;i<=len1;i++){ for(int j=1;j<=len2;j++){ sum[i+j-1]+=a[i]*b[j]; sum[i+j]+=sum[i+j-1]/10; sum[i+j-1]%=10; } } while(sum[lenS+1]) lenS++; string ans; for(int i=lenS;i>=1;i--) ans+=sum[i]+'0'; return ans; } int main(){ cin>>t>>n; if(t==1) cout<<n*(n-1)/2; if(t==2) cout<<n*(n-1)/2*(n-2)/3*(n-3)/4; if(t==3){ string s="2"; for(int i=2;i<n;i++) s=x(s,"2"); cout<<s; } return 0; }