20分,有用高精,哪里处理错了吗?
  • 板块P5000 Hillwer编码
  • 楼主wj_M
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/6/29 12:29
  • 上次更新2025/6/29 22:29:07
查看原帖
20分,有用高精,哪里处理错了吗?
1610798
wj_M楼主2025/6/29 12:29
#include<bits/stdc++.h>
using namespace std;

int main()
{
    string s;
    int n,r;
    cin>>n>>r;
    for(int i=0;i<n;i++)
    {
        int a[10005]={1};
        cin>>s;
        for(int j=0;j<s.size();j++)
        {
            if(s[j]+r>'Z') s[j]=(s[j]+r-'Z')+'A'-1;
            else s[j]+=r;
            cout<<s[j];
        }
        cout<<endl;
        for(int j=0;j<s.size();j++)
        {
            for(int k=0;k<10000;k++) a[k]*=s[j];
            for(int k=0;k<10000;k++)
            {
                if(a[k]>=10)
                {
                    a[k+1]+=a[k]/10;
                    a[k]%=10;
                }
            }
        }
        int k=10000;
        while(a[k]==0) k--;
        for(int j=k;j>=0;j--) cout<<a[j];
        cout<<endl;
    }
    return 0;
}
2025/6/29 12:29
加载中...