代码改变世界

2369. Nim-B Sum

2011-05-20 09:26  Min·zc  阅读(219)  评论(0编辑  收藏  举报
 1 /*
 2  *数制转换
 3  */
 4 
 5 #include <iostream>
 6 #include <memory.h>
 7 using namespace std;
 8 int bx[100];
 9 int by[100];
10 int ans[100];
11 int n,b,x,y;
12 int lx,ly;
13 int main()
14 {
15         int t;
16         cin>>t;
17         while(t--)
18         {
19                 
20                 cin>>n>>b>>x>>y;
21                 memset(bx,0,sizeof(bx));
22                 memset(by,0,sizeof(by));
23                 memset(ans,0,sizeof(ans));
24                 lx=ly=0;
25                 while(x)
26                 {
27                         bx[lx++]=x%b;
28                         x/=b;
29                 }
30                 while(y)
31                 {
32                         by[ly++]=y%b;
33                         y/=b;
34                 }
35                 int max=lx>=ly?lx:ly;
36                 for(int i=0;i<max;i++)
37                         ans[i]=(bx[i]+by[i])%b;
38                 int num=0;
39                 for(int i=max;i>=0;i--)
40                 {
41                 //    cout<<num<<" ";
42                         num*=b;
43                         num+=ans[i];
44                 }
45                 cout<<n<<" "<<num<<endl;
46         }
47 }