Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
42209 202203xhl 密码锁 C++ 解答错误 0 2 MS 244 KB 1324 2022-06-25 15:12:47

Tests(0/5):


#include<bits/stdc++.h> using namespace std; int s[100]={0}; int h[100]={0}; int ans[20]={0}; void ss(int a,int n,int &sum,int t){ for(int i=2;i*i<=n;i++){ if(n%i==0){ continue; } } for(int i=1;i<=5;i++){ if(a%10==n%10){ a/=10; n/=10; continue; } else{ if(n%10>a%10){ if(n%10-a%10>5){ sum+=n%10+10-a%10; h[t]=n*10+n%10+10-a%10; } else{ sum+=n%10-a%10; h[t]=n*10+n%10-a%10; } } else{ if(a%10-n%10>5){ sum+=a%10+10-n%10; h[t]=n*10+a%10+10-n%10; } else{ sum+=a%10-n%10; h[t]=n*10+a%10+10-n%10; } } } } s[t]=sum; t++; sum=0; } void most(int h[],int t,int ans[],char b){ int fl=0; for(int i=0;i<t;i++){ if(h[i]%10==b){ ans[fl]=h[i]%10; fl++; } } for(int i=0;i<fl;i++){ ans[0]=max(ans[0],ans[i]); } cout<<fl; } void least(int s[],int t,int &t1,int h[],int ans[]){ for(int i=0;i<t;i++){ s[0]=max(s[0],s[i]); } for(int i=0;i<t;i++){ if(s[0]==s[0]) t1++; } if(t1==1){ for(int i=0;i<t;i++){ if(h[i]%10==s[0]) cout<<h[i]/10; } } else{ most(h,t,ans,s[1]); } } int main(){ int a,sum=0,t=0,t1=0; cin>>a; for(int i=2;i<=99999;i++){ ss(a,i,sum,t); } least(s,t,t1,h,ans); return 0; }


测评信息: