One day, zhx wants to count how many submissions he made on n
To make the problem more complex, zhx gives you n
What's more, zhx is so naive that he doesn't carry a number while adding. That means, his answer to 5+6
For each test, there are two integers n
Then come n lines. In each line there is a B−base
2 3 2 2 1 4 233 3 16 ab bc cd
1 233 14
One day, zhx wants to count how many submissions he made on n
To make the problem more complex, zhx gives you n
What's more, zhx is so naive that he doesn't carry a number while adding. That means, his answer to 5+6
For each test, there are two integers n
Then come n lines. In each line there is a B−base
2 3 2 2 1 4 233 3 16 ab bc cd
1 233 14
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>
#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)
typedef __int64 ll;
#define fre(i,a,b) for(i = a; i <b; i++)
#define mem(t, v) memset ((t) , v, sizeof(t))
#define sf(n) scanf("%d", &n)
#define sff(a,b) scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define pf printf
#define bug pf("Hi\n")
using namespace std;
#define INF 0x3f3f3f3f
#define N 1001
#define mod 1000000007
char a[300];
int ans[N];
int main()
{
int i,j,n,b;
int ma;
while(~sff(n,b))
{
mem(ans,0);
ma=0;
while(n--)
{
scanf("%s",a);
int k=0;
int len=strlen(a);
ma=max(ma,len);
for(i=len-1;i>=0;i--)
{
int te;
if(a[i]>='0'&&a[i]<='9') te=a[i]-'0';
else te=a[i]-'a'+10;
ans[k]=(ans[k]+te)%b;
k++;
}
}
int i=ma-1;
while(ans[i]==0&&i>=0) i--;
if (i<0)pf("0"); // 坑爹的地方
for(;i>=0;i--)
if(ans[i]<10)
printf("%d",ans[i]);
else
printf("%c",ans[i]-10+'a');
printf("\n");
}
return 0;
}
1102



被折叠的 条评论
为什么被折叠?



