hdu 5867
题目链接“
直接模拟,不过我比较笨花了好长时间
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<string.h>
using namespace std;
int a[1010];
int b[1010]= {0,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8,6};
int main()
{b[30]=6;b[40]=5;b[50]=5;b[60]=5;b[70]=7;b[80]=6;b[90]=6;b[1000]=11;int t;scanf("%d",&t);int m,len,k,p;int sum=0;for(int i=1; i<=t; i++){scanf("%d",&a[i]);sum=0;for(int j=1; j<=a[i]; j++){if(j==1000){sum+=b[j];}else{if(j/100){sum+=b[j/100];sum+=7;if(j%100<=20&&j%100>0){sum+=b[j%100];sum+=3;}else if(j%100>20){m=j%100;sum+=b[m%10];sum+=b[m-m%10];sum+=3;}}else{if(j>0&&j<=20)sum+=b[j];else{sum+=b[j%10];sum+=b[j-j%10];}}}}printf("%d\n",sum);}return 0;
}
发布评论