codeforce 602A Two Bases

来源:互联网 发布:java平台是什么 编辑:程序博客网 时间:2024/04/29 20:25

原题地址


题意

给定两种不同进制下的数,问两者的大小关系

题解

暴力好了,递归处理,O(n)复杂度


#include<bits/stdc++.h>using namespace std;int a[20];int b[20];void solve(int arr[],int len,int base,int i,long long &x){x+=arr[i];if (i==len) return ;else{x*=base;solve(arr,len,base,i+1,x);}}long long f(int arr[],int len,int base){long long ans=0;solve(arr,len,base,1,ans);return ans;}int main(void){#ifdef exfreopen ("in.txt","r",stdin);#endifint n1,n2;int b1,b2;scanf("%d%d",&n1,&b1);for (int i=1;i<=n1;++i){scanf("%d",&a[i]);}scanf("%d%d",&n2,&b2);for (int i=1;i<=n2;++i){scanf("%d",&b[i]);}long long x=f(a,n1,b1);long long y=f(b,n2,b2);if (x==y){printf("=\n");}else if (x>y){printf(">\n");}else{printf("<\n");}}

代码使用了传引用的C++特性,难得……



0 0