Codeforces Round #333 (Div. 2) A. Two Bases

A. Two Bases

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

After seeing the "ALL YOUR BASE ARE BELONG TO US" meme for the first time, numbers X and Y realised
that they have different bases, which complicated their relations.

You're given a number X represented in base bx and
a number Y represented in base by.
Compare those two numbers.

Input

The first line of the input contains two space-separated integers n and bx (1 ≤ n ≤ 10, 2 ≤ bx ≤ 40),
where n is the number of digits in the bx-based
representation of X.

The second line contains n space-separated integers x1, x2, ..., xn (0 ≤ xi < bx)
— the digits of X. They are given in the order from the most significant digit to the least significant one.

The following two lines describe Y in the same way: the third line contains two space-separated integers m and by (1 ≤ m ≤ 10,2 ≤ by ≤ 40, bx ≠ by),
where m is the number of digits in the by-based
representation of Y, and the fourth line contains m space-separated
integers y1, y2, ..., ym (0 ≤ yi < by)
— the digits of Y.

There will be no leading zeroes. Both X and Y will
be positive. All digits of both numbers are given in the standard decimal numeral system.

Output

Output a single character (quotes for clarity):

  • '<' if X < Y
  • '>' if X > Y
  • '=' if X = Y

Sample test(s)

input

6 2
1 0 1 1 1 1
2 10
4 7

output

=

input

3 3
1 0 2
2 5
2 4

output

<

input

7 16
15 15 4 0 0 7 10
7 9
4 8 0 3 1 5 0

output

>

Note

In the first sample, X = 1011112 = 4710 = Y.

In the second sample, X = 1023 = 215 and Y = 245 = 1123,
thus X < Y.

In the third sample,  and Y = 48031509.
We may notice that X starts with much larger digits and bx is
much larger than by,
so X is clearly larger than Y.

题意:

给你两个数,让你比较大小,但是进制不同,位数也不一定相同

解题思路:

直接模拟做,全都化成十进制数在做。。

上代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <algorithm>
#include <set>
using namespace std;

#define MM(a) memset(a,0,sizeof(a))

typedef long long LL;
typedef unsigned long long ULL;
const int maxn = 1e5+5;
const int mod = 1e9+7;
const double eps = 1e-10;
const int INF = 0x3f3f3f3f;
LL gcd(LL a, LL b)
{
    if(b == 0)
        return a;
    return gcd(b, a%b);
}
LL a[maxn], b[maxn];
int main()
{
    LL n1, n2, num1, num2;
    cin>>n1>>num1;
    for(int i=0; i<n1; i++)
        cin>>a[i];
    LL sum1 = 0, sum2 = 0;
    for(int i=n1-1; i>=0; i--)
    {
        LL sum = 1;
        for(int j=0; j<n1-1-i; j++)
            sum *= num1;
        sum1 += a[i]*sum;
    }
    ///cout<<sum1<<endl;
    cin>>n2>>num2;
    for(int i=0; i<n2; i++)
        cin>>b[i];
    for(int i=n2-1; i>=0; i--)
    {
        LL sum = 1;
        for(int j=0; j<n2-1-i; j++)
            sum *= num2;
        sum2 += b[i]*sum;
    }
    ///cout<<sum2<<endl;
    if(sum1 == sum2)
        puts("=");
    else if(sum1 < sum2)
        puts("<");
    else
        puts(">");
    return 0;
}
/**
10 16
15 15 4 0 0 0 0 7 10 9
7 9
4 8 0 3 1 5 0

*/
时间: 2024-08-03 12:14:47

Codeforces Round #333 (Div. 2) A. Two Bases的相关文章

Codeforces Round #333 (Div. 2) B. Approximating a Constant Range

B. Approximating a Constant Range time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output When Xellos was doing a practice course in university, he once had to measure the intensity of an effect t

Codeforces Round #157 (Div. 1) C. Little Elephant and LCM (数学、dp)

C. Little Elephant and LCM time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output The Little Elephant loves the LCM (least common multiple) operation of a non-empty set of positive integers. The

Codeforces Round #205 (Div. 2) / 353C Find Maximum (贪心)

Valera has array a, consisting of n integers a0,a1,...,an-1, and function f(x), taking an integer from 0 to 2n-1 as its single argument. Value f(x) is calculated by formula , where value bit(i) equals one if the binary representation of number xconta

Codeforces Round #201 (Div. 1) / 346A Alice and Bob:数论&amp;amp;想法题

A. Alice and Bob http://codeforces.com/problemset/problem/346/A time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output It is so boring in the summer holiday, isn't it? So Alice and Bob have inven

Codeforces Round #311 (Div. 2) B. Pasha and Tea

题目链接:http://codeforces.com/contest/557/problem/B 题意:给你n个boy,n个girl ,然后w表示茶壶的最大容量,然后n个茶杯,每个都有不同的容量,要求boy的茶杯里的茶水是girl的两倍,且boy和boy的容量一样,girl和girl的容量一样,问如何倒茶,求最大的倒茶量 #include <iostream> #include <cstdio> #include <algorithm> using namespace

Codeforces Round #299 (Div. 2) A. Tavas and Nafas

题目链接:http://codeforces.com/problemset/problem/535/A #include <iostream> #include <string> using namespace std; int main() { string s1[10]={"zero","one","two","three","four","five",&qu

Codeforces Round #308 (Div. 2) A. Vanya and Table

题目链接:http://codeforces.com/contest/552/problem/A hint: 就是求几个矩形的面积 #include <iostream> #include <cmath> using namespace std; struct point { int x; int y; }a[2]; int main() { int m; while(cin>>m) { int sum=0; while(m--) { //注释的是方法一 cin>

Codeforces Round #311 (Div. 2) A. Ilya and Diplomas

题目链接:http://codeforces.com/contest/557/problem/A #include <iostream> using namespace std; int minn[3]; int maxx[3]; int main() { int m; while(cin>>m) { int ans[3]={0}; for(int i=0; i<3; i++) cin>>minn[i]>>maxx[i]; for(int i=0; i

Codeforces Round #308 (Div. 2) Vanya and Books

题目链接:http://codeforces.com/contest/552/problem/B 题意:就是求有几个数字: eg:13:1 2 3 4 5 6 4 7 8 9 1 0 1 1 1 2 1 3 一共17个数字 #include <iostream> using namespace std; long long a[12]={0,9,99,999,9999,99999,999999,9999999,99999999,999999999,9999999999}; int main()