HDU 5186
easy !!
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #define LL __int64 5 using namespace std; 6 7 8 int input[210],l; 9 char in[210]; 10 struct BigNumber{ 11 int B,len; 12 int num[210]; 13 void init(){ 14 len=0; 15 for(int i=0;i<=200;i++) num[i]=0; 16 } 17 void add_BigNubmer(int *a,int l){ 18 len=max(len,l); 19 // cout<<len<<endl; 20 int mod,up; 21 for(int i=0;i<len;i++){ 22 mod=(a[i]+num[i])%B; 23 num[i]=mod; 24 } 25 if(num[len]) len++; 26 } 27 }; 28 29 void Init(){ 30 for(int i=0;i<=200;i++) input[i]=0; 31 } 32 33 34 int main(){ 35 BigNumber Number; 36 int n,B; 37 while(scanf("%d%d",&n,&B)!=EOF){ 38 Number.init(); 39 Number.B=B; 40 for(int i=0;i<n;i++){ 41 scanf("%s",in); 42 int len=strlen(in); 43 l=0; 44 Init(); 45 for(int i=len-1;i>=0;i--){ 46 if(in[i]>='0'&&in[i]<='9') 47 input[l]=in[i]-'0'; 48 else if(in[i]>='a'&&in[i]<='z') 49 input[l]=in[i]-'a'+10; 50 l++; 51 } 52 Number.add_BigNubmer(input,l); 53 } 54 bool flag=false; 55 for(int i=Number.len-1;i>=0;i--){ 56 if(!flag&&Number.num[i]==0){ 57 continue; 58 } 59 flag=true; 60 if(Number.num[i]<=9) 61 printf("%c",Number.num[i]+'0'); 62 else if(Number.num[i]>9) 63 printf("%c",Number.num[i]-10+'a'); 64 } 65 if(!flag) printf("0"); 66 puts(""); 67 } 68 return 0; 69 }