Un 1010 Radix pta

Esta pregunta es demasiado perro, y yo pensaba que era inocente de la violencia, el resultado de 24 puntos ...
tenido que aprender en silencio durante dos minutos, o 24 minutos ... porque el sub no está sujeto a la gama de datos, creo que hasta un 36 decimal, como se juego de la muerte de hasta un MA,
este problema no va a estallar de largo tiempo para el primer número
de la serie de la segunda mitad, cuando podríamos reventar largo tiempo que Zezheng? juez especial! Si bombardeamos (sólo se convierte en un número negativo, pero no puede llegar a ser un número natural) en el momento del segundo número decimal a
tiempo lo ponemos en un número mayor que el primer número 3 muy bien que
se piensa sobre todo de la media, no sé cómo resolver crítico larga larga
reflexión buena
en el código

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int r(char c)
{
	if(isalpha(c)) return  c-'a'+10;
	return c - '0';
}
int main()
{
	ll sum = 0,ok = 0;
	int jin,tag,w1[20],w2[20];
	string s1,s2,t;
	cin>>s1>>s2>>tag>>jin;
	if(tag == 2)
	{
		t = s2; s2 = s1; s1 =t;
	}//让s1 为已知进制
	int n1 = s1.size(),n2 = s2.size();
	//字母化数字好看 
	for (int i = 0; i < n1; i++)	w1[i] = r(s1[i]); 
	for (int i = 0; i < n2; i++)    w2[i] = r(s2[i]);
	//判断是否超进制如果超则不行 
	for	(int i = 0; i < n1; i++)  {
		if(w1[i] >= jin){
			sum = -1;break;
		}
		else{
			sum = sum*jin+w1[i];
		}
	}
	if(sum == -1) printf("Impossible\n");
	else{
		//确立一下 l 的 范围,至少要大于数字内的最大数 
		ll l = 0,r = sum+5; //r 等于sum+5 是因为下面二分不会取到r这个点 
		for (int i = 0; i < n2; i++)
		{
			if(l < w2[i]) l = w2[i];
		}
		l++;
		//纯纯的二分 
		while(l < r){
			ll mid = (r+l)/2;
			ll sum2 = 0;
			for (int i = 0; i < n2; i++) 
			{
				sum2 = sum2*mid + w2[i];
				if(sum2 < 0)
				{
					sum2 = sum+3; break;//溢出了 
				} //溢出的数肯定比sum大 
			}
			if(sum2 >= sum) 
			{
				r = mid; if(sum2 == sum) ok = 1;
			} 
			else l = mid+1; 
		}
		if(ok) printf("%lld\n",l);
		else   printf("Impossible\n");
		
	}
	return 0;
}
Publicado 55 artículos originales · ganado elogios 1 · vistas 2639

Supongo que te gusta

Origin blog.csdn.net/qq_37548017/article/details/102821065
Recomendado
Clasificación