CSP-J T3
本人在考场上写的是这样的(脑袋卡壳根本没想到找规律)
代码如下
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,f[1000005],t;
unsigned long long cnt[10]={6,2,5,5,4,5,6,3,7,6};
int main(){
cin>>t;
while(t--){
cin>>n;
memset(f,99999999,sizeof(f));
f[0]=0;
f[1]=0;
f[2]=1;
f[3]=7;
f[4]=4;
f[5]=2;
f[6]=6;
f[7]=8;
for(int i=8;i<=n;i++){
for(int j=0;j<=9;j++){
f[i]=min(f[i-cnt[j]]*10+j,f[i]);
}
}
if(f[n]==0){
cout<<-1<<endl;
}
else{
cout<<f[n]<<endl;
}
}
return 0;
}
题目前两个给的n=50,50/7取8,unsigned long long应该装得下吧,提交是0分,全WA